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

CFD-FASTRAN V2014.

0
User Manual
©1997-2014 by ESI-Group
This ESI Group documentation is the confidential and proprietary product of ESI-Group, Inc. Any unauthorized use, reproduction, or transfer of
this manual is strictly prohibited. This documentation is subject to limited distribution and restricted disclosure.
CFD-ACE™, CFD-ACE+™, CFD-CADalyzer™, CFD-VIEW™, CFD-GEOM™, SimManager™, CFD-TOPO™, CFD-VisCART™, CFD-Micromesh™ and CFD-
FASTRAN™ are registered trademarks of ESI-Group.
Portions of this product are owned by third-party software vendors.
Revision Information
The information in this guide applies to all current ESI CFD products until superseded by a newer version of this guide.
Published July 2014
UA/CFD_/14/06/00/A
Disclaimers
The documents and related know-how herein provided by ESI Group subject to contractual conditions are to remain confidential. The CLIENT
shall not disclose the documentation and/or related know-how in whole or in part to any third party without the prior written permission of ESI
Group.
About ESI GROUP
ESI provides a world leading software editor for the numerical simulation of prototype and manufacturing process engineering in applied
mechanics. The key to ESI's success is the use of realistic material physics, providing "as good as real" virtual solutions, in order to replace the
lengthy trial and error processes on real prototypes.
ESI has developed an extensive suite of coherent, industry-oriented applications to realistically simulate a product’s behavior during testing and
real life use; to refine manufacturing processes for desired product performance, and to evaluate the effect of the environment in which the
product is deployed.
ESI’s products represent a unique collaborative and open environment for End-to-End Virtual Prototyping, thus eliminating the need for
physical prototypes during product development. This solution allows a productivity gain, innovation acceleration and significantly reduced
costs.
For more information about ESI Group, visit www.esi-group.com.
About ESI CFD
ESI CFD is a technology leader in the field of advanced computational fluid dynamics simulation software backed by more than 20 years of
research-based knowledge throughout a wide range of industries. ESI CFD’s broad range of products and services provide all of the necessary
tools for advanced multiphysics analysis in a virtual prototype environment, significantly reducing time and expense through comprehensive
up-front modeling and simulation. Key focus areas include aerospace, automotive, biomedical, fuel cells, MEMS, microfluidics, plasma, and
semiconductor.
Contact Information for ESI CFD
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.com
Software Sales: cfdinfo@esi-group.com
Table Of Contents
Introduction........................................................................................................................................................... 1
ESI Group Around the World .....................................................................................................................................1
Customer Support .....................................................................................................................................................2
Getting support from the Help menu ...................................................................................................................3
How to report problems .......................................................................................................................................3
Transferring files via ftp ........................................................................................................................................3
Security concerns when using ftp .........................................................................................................................4

CFD-FASTRAN Overview ........................................................................................................................................ 7


About the CFD-FASTRAN Software ............................................................................................................................7
Running the Solver ....................................................................................................................................................8
Installed Package Contents .......................................................................................................................................9
What Packages to Download.....................................................................................................................................9
Contents of CFD-FASTRAN-SOLVER Package ...........................................................................................................10
Contents of CFD-FASTRAN-GUI Package .................................................................................................................12
Non-ESI-CFD Software .............................................................................................................................................12
CFD-Toolkit Import / Export Features .....................................................................................................................13
Translating Other Data Files into DTF Files .........................................................................................................14
Export DTF Files to Other Formats ......................................................................................................................15
CFD-GEOM Supported Import / Export File Types ..................................................................................................15
Import Formats for External Geometry or Mesh Data .......................................................................................16
Export Formats for Geometry or Mesh Data ......................................................................................................16
CFD-VIEW Support Import / Export File Types ........................................................................................................17
Import Formats for Solution Data.......................................................................................................................17
Export Formats and Files ....................................................................................................................................19

Features and Applications ................................................................................................................................... 21


Overview of CFD-FASTRAN ......................................................................................................................................21
Multi-Zone Mesh Systems .......................................................................................................................................22
Overview of the Multi-zone Mesh Systems ........................................................................................................22
Structured Meshes..............................................................................................................................................23
Patched Meshes..................................................................................................................................................26
Chimera (Overset) Meshing Technique ..............................................................................................................27
Supported Unstructured Cell Types ....................................................................................................................28
Rigid Moving-body Models......................................................................................................................................29
Six Degree-of- Freedom Models .........................................................................................................................30
Prescribed Motion Models .................................................................................................................................30
Solver Simulation Methodology ..............................................................................................................................30
Time-Marching Approach ...................................................................................................................................30
Conservative Density-Based Formulation ...........................................................................................................31
Finite Volume Discretization ...............................................................................................................................31
Upwind Approximations .....................................................................................................................................31
Aeroelastic Analyses - Structural Coupling Module ................................................................................................32

File Management ................................................................................................................................................. 33


About File Types ......................................................................................................................................................33
Imported File Types ............................................................................................................................................33
File Management ....................................................................................................................................................35
File > Open ..........................................................................................................................................................35
Import > Open ....................................................................................................................................................35

v
CFD-FASTRAN V2014.0 User Manual

Starting CFD-FASTRAN ......................................................................................................................................... 37


Overview .................................................................................................................................................................37
Command-Line Usage to Launch CFD-FASTRAN-GUI .........................................................................................37
Load DTF File .......................................................................................................................................................38
Set Up the Problem.............................................................................................................................................38
Save DTF..............................................................................................................................................................38
Run CFD-FASTRAN-SOLVER .................................................................................................................................39

GUI Description ................................................................................................................................................... 41


Start Screen .............................................................................................................................................................41
User Interface Description ......................................................................................................................................41
Using the Mouse .....................................................................................................................................................43

Toolbar ................................................................................................................................................................ 45

Menu Bar ............................................................................................................................................................. 47


Menu Bar Overview .................................................................................................................................................47
File Menu.................................................................................................................................................................47
Edit Menu ................................................................................................................................................................49
Edit Menu Overview ...........................................................................................................................................49
Edit Menu Preferences Tabs ...............................................................................................................................49
View Menu ..............................................................................................................................................................59
Units Menu ..............................................................................................................................................................61
Tools Menu ..............................................................................................................................................................62
Window Menu .........................................................................................................................................................67
Help Menu ...............................................................................................................................................................68

Graphics Area ...................................................................................................................................................... 69


Overview .................................................................................................................................................................69
Working with the Viewer Window ..........................................................................................................................69
Arranging the windows .......................................................................................................................................69
Using the context menu......................................................................................................................................69

Control Panel ....................................................................................................................................................... 71


Working with the Entity List ....................................................................................................................................71

Entity Bar ............................................................................................................................................................. 73


Entity Bar Overview .................................................................................................................................................73
Entity Bar BC or VC Blanking ...............................................................................................................................74
Working with the Entity List ....................................................................................................................................74

Model Explorer .................................................................................................................................................... 77


Overview .................................................................................................................................................................77
Changing the Display ..........................................................................................................................................77
Grouping .............................................................................................................................................................77
Picking .................................................................................................................................................................78
VC Explorer ..............................................................................................................................................................78
BC Explorer ..............................................................................................................................................................79
Split Interfaces ....................................................................................................................................................80
Boundary ID ........................................................................................................................................................80
Boundary Name ..................................................................................................................................................81
Boundary Condition Type ...................................................................................................................................81
IC Explorer ...............................................................................................................................................................81

vi
Table Of Contents

Blanking ..............................................................................................................................................................81
Grouping .............................................................................................................................................................81
Entity Tags...........................................................................................................................................................82
Volume ID ...........................................................................................................................................................82
Volume Name .....................................................................................................................................................82
Volume Type .......................................................................................................................................................82

Solver Background ............................................................................................................................................... 83


Solver Simulation Methodology ..............................................................................................................................83
Time-Marching Approach ...................................................................................................................................83
Conservative Density-Based Formulation ...........................................................................................................83
Finite Volume Discretization ...............................................................................................................................83
Upwind Approximations .....................................................................................................................................84
Flow Equations ........................................................................................................................................................84
Fluid Governing Equations ..................................................................................................................................84
Flow Field Conservation Equations .....................................................................................................................85
Flow Field Conservation Equations in a Non-Moving Frame ..............................................................................85
Flow Field Conservation Equations for Moving/Deforming Volumes.................................................................87
Fluid Physical Models ..............................................................................................................................................88
Fluid Physical Modeling ......................................................................................................................................88
Thermodynamic Properties ................................................................................................................................88
Diffusive Closure Models ....................................................................................................................................91
Transport Properties ...........................................................................................................................................91
Thermo-Chemical Source Terms .........................................................................................................................94
Thermo-Chemical Database Options ..................................................................................................................95
Turbulence Modeling ..............................................................................................................................................96
Turbulence Overview Modeling..........................................................................................................................96
Baldwin-Lomax Model ........................................................................................................................................98
Standard k-ε Model ............................................................................................................................................99
k-ω Model .........................................................................................................................................................101
Spalart-Allmaras Model ....................................................................................................................................102
Menter Shear-Stress Transport (SST) Model ....................................................................................................103
Detached Eddy Simulation (DES) Turbulence Model ........................................................................................105
References ........................................................................................................................................................108
Numerical Methods ...............................................................................................................................................108
Numerical Methods ..........................................................................................................................................108
Finite Volume and Temporal Discretization .....................................................................................................108
Spatial Numerical Method ................................................................................................................................112
Flowfield Solution Procedure............................................................................................................................117
Chimera Method ...................................................................................................................................................119
Chimera Method ...............................................................................................................................................119
Alternating Digital Tree .....................................................................................................................................123
Hole-Cutting Algorithm .....................................................................................................................................124
Interpolation Algorithm ....................................................................................................................................131
Problems and Limitations .................................................................................................................................133
User Input Parameters ......................................................................................................................................133
References ........................................................................................................................................................134
Moving Bodies .......................................................................................................................................................134
Moving Bodies ..................................................................................................................................................134
Motion Models .................................................................................................................................................135
Equations of Motion .........................................................................................................................................136

Setting Up a Model ............................................................................................................................................ 139

vii
CFD-FASTRAN V2014.0 User Manual

Setting Up Problems with CFD-FASTRAN-GUI .......................................................................................................139


Problem Type ........................................................................................................................................................139
Model Options .......................................................................................................................................................140
Global Settings ......................................................................................................................................................141
Flow Settings .........................................................................................................................................................141
Ideal Gas Properties ..........................................................................................................................................141
Transport Models .............................................................................................................................................142
Viscosity Model .................................................................................................................................................142
Conductivity Model...........................................................................................................................................143
Mass Diffusivity .................................................................................................................................................144
Turbulence Modeling ........................................................................................................................................144
Chemistry Settings.................................................................................................................................................145
Mixing Flows .....................................................................................................................................................145
Reacting Flows ..................................................................................................................................................145
Reaction Manager Usage ..................................................................................................................................146
Moving-Body Settings ...........................................................................................................................................149
Motion Model Type ..........................................................................................................................................150
Prescribed Motion Model Setup .......................................................................................................................150
Model Dependencies ........................................................................................................................................155
6DOF Motion Model .........................................................................................................................................155
6DOF Model Forces ..........................................................................................................................................158
Database Managers ...............................................................................................................................................165
Supplied Databases ...........................................................................................................................................166
User-Defined Databases ...................................................................................................................................166
Database Manager User Interfaces ..................................................................................................................166
File Menu ..........................................................................................................................................................166
Edit Menu .........................................................................................................................................................167
Species Property Manager ................................................................................................................................167
Mixtures Property Manager .............................................................................................................................167
Volume Reaction Manager ...............................................................................................................................167
Surface Reaction Manager ................................................................................................................................168
Volume Conditions (VC) ........................................................................................................................................168
Selecting VCs .........................................................................................................................................................168
Properties Settings............................................................................................................................................169
Solver Control Settings ..........................................................................................................................................169
Deformation Settings ............................................................................................................................................170
Chimera Settings ...................................................................................................................................................170
Automated Option for Zonal Connectivity .......................................................................................................171
Manual Option ..................................................................................................................................................171
Grid Motion Settings .............................................................................................................................................174
Boundary Conditions (BC) .....................................................................................................................................175
Selecting BCs .........................................................................................................................................................175
Supported BC Types ..............................................................................................................................................176
Summary of Boundary Condition Types ................................................................................................................177
Inlet BC Specifications ...........................................................................................................................................177
Fixed Mass Flow Rate .......................................................................................................................................177
Fixed Mass (Normal) .........................................................................................................................................177
Total Pressure ...................................................................................................................................................178
Outlet BC Specifications ........................................................................................................................................178
Fixed Pressure ...................................................................................................................................................178
Extrapolation ....................................................................................................................................................178
Inflow/Outflow BC Specifications ..........................................................................................................................179
Wall BC Conditions - Flow Module ........................................................................................................................179

viii
Table Of Contents

Heat Transfer ....................................................................................................................................................179


Aeroelastic Interface Definition ........................................................................................................................181
Moving Walls ....................................................................................................................................................181
Roughness Characteristics ................................................................................................................................182
Symmetry BC Conditions .......................................................................................................................................182
Overset Type BC Specification ...............................................................................................................................182
Zonal Interface ......................................................................................................................................................182
Time-Profile BC Specification ................................................................................................................................182
Procedures ........................................................................................................................................................183
TPBC Behavior ...................................................................................................................................................184
Wall BCs .................................................................................................................................................................184
Wall Boundary Conditions ................................................................................................................................184
Inviscid Wall Boundary Condition .....................................................................................................................185
Viscous Wall Boundary Condition .....................................................................................................................185
References ........................................................................................................................................................188
Initial Conditions (IC) .............................................................................................................................................188
Selecting Volumes for IC Specifications.................................................................................................................189
Starting from Scratch (New Run)...........................................................................................................................190
Restarting Simulations...........................................................................................................................................191
Tips and Tricks ..................................................................................................................................................191
Simulation Controls (SC) ........................................................................................................................................192
Solver Stopping Criteria .........................................................................................................................................194
Max Number of Cycles or Time Steps ...............................................................................................................194
Convergence Criterion ......................................................................................................................................194
Spatial Differencing Schemes ................................................................................................................................195
Roe or Van Leer Scheme ...................................................................................................................................196
First-Order vs Higher-Order ..............................................................................................................................197
Flux Limiters - Structured-Grid Models.............................................................................................................197
Flux Limiters - Unstructured-Mesh Models ......................................................................................................198
Time-Integration Procedures ................................................................................................................................199
Explicit vs Implicit .............................................................................................................................................199
Explicit (Multistep Runge-Kutta) Scheme .........................................................................................................200
Implicit Schemes for Structured-Grid Models ..................................................................................................200
Implicit Schemes for Unstructured-Grid Models - LU-SGS ...............................................................................201
Time-Step Size Specification (Relax) ......................................................................................................................201
Initial CFL and Final CFL.....................................................................................................................................202
CFL Ramping Iterations .....................................................................................................................................202
Number of Iterations ........................................................................................................................................203
Transient Simulation Guidelines .......................................................................................................................203
Steady-State Simulation Guidelines..................................................................................................................203
Output Panel (Out) ................................................................................................................................................203
Frequency of Solver Outputs .................................................................................................................................204
Output Cycles ....................................................................................................................................................204
Restart Cycles....................................................................................................................................................204
Motion Output Cycles .......................................................................................................................................204
Chimera Stencil Search Cycles ...............................................................................................................................204
Monitor Points ......................................................................................................................................................205
Aero Force Summaries ..........................................................................................................................................205
Aero Forces By Section ..........................................................................................................................................209

Solver Usage ...................................................................................................................................................... 215


Parallel Processing .................................................................................................................................................215
Introduction ......................................................................................................................................................215

ix
CFD-FASTRAN V2014.0 User Manual

Categories of Parallel Computers - SMP vs DMP ..............................................................................................215


Parallel Processing - General Process ...............................................................................................................216
Parallel Processing Theory ................................................................................................................................217
Domain Decomposition ....................................................................................................................................217
Assignment of Zones to Processors ..................................................................................................................218
Communication across Processors ...................................................................................................................218
Parallel Processing Configuration Requirements..............................................................................................218
Parallel Environment Setup ..............................................................................................................................219
Platform-MPI Setup - Additional requirements (Windows only)......................................................................221
Parallel Processing Setup ..................................................................................................................................222
GUI Setup ..........................................................................................................................................................223
Parallel Setup Panel: MDICE .............................................................................................................................223
Parallel Setup Panel: MPI (Unstructured-Mesh Cases) .....................................................................................225
CFD-FASTRAN-SOLVER Script ............................................................................................................................228
Parallel Processing Performance ......................................................................................................................229
Parallel Processing Troubleshooting .................................................................................................................231
Abnormal Termination and Cleanup ................................................................................................................232
Run Panel (Run) .....................................................................................................................................................233
Running Cases .......................................................................................................................................................233
Running Cases with CFD-FASTRAN-SOLVER ......................................................................................................233
Launching Cases from the Command Line ........................................................................................................234
Other Input File Specifications ..........................................................................................................................235
Restarting Cases ................................................................................................................................................236
Solver-Generated Output Files .........................................................................................................................236
DAT File Specifications ......................................................................................................................................240
Troubleshooting Problems ...............................................................................................................................251
Problem Setup Errors........................................................................................................................................251
Memory Usage Issues .......................................................................................................................................252
Diagnosing Parallel Problems ...........................................................................................................................253
Using the Run Panel ..........................................................................................................................................254
Setup Parallel ....................................................................................................................................................255
Submit (Serial) ..................................................................................................................................................255
Monitoring Residuals ........................................................................................................................................256
Examining Solver Output ..................................................................................................................................258
Plotting Motion Model Output .........................................................................................................................258
Stopping a Simulation .......................................................................................................................................258

Appendix A Python Scripting ............................................................................................................................. 259


Overview ...............................................................................................................................................................259
Usage .....................................................................................................................................................................259
GuiFILE ...................................................................................................................................................................262
GuiML (GUI Models) ..............................................................................................................................................264
Radiation Model Operations.............................................................................................................................264
DOM Model ......................................................................................................................................................265
STS Model .........................................................................................................................................................266
Examples ...............................................................................................................................................................267
Fan Model .........................................................................................................................................................268
Examples ...........................................................................................................................................................268
Momentum Resistance Model .........................................................................................................................269
Active Mixtures and Species .............................................................................................................................270
GuiPT (Problem Type)............................................................................................................................................270
GuiBC (Boundary Conditions) ................................................................................................................................271
GuiIC (Initial Conditions)........................................................................................................................................274

x
Table Of Contents

GuiMO (Module Options) ......................................................................................................................................275


GuiOut (Output Controls) ......................................................................................................................................276
GuiPC (Point Conditions) .......................................................................................................................................276
GuiRun (Run Controls) ...........................................................................................................................................277
GuiSC (Solver Controls) .........................................................................................................................................277
GuiVC (Volume Conditions) ...................................................................................................................................278

Appendix B DTF Utility ....................................................................................................................................... 283


Common Uses .......................................................................................................................................................283
Usage ................................................................................................................................................................283
DTF Command-Line Utility ................................................................................................................................284
Examples ...........................................................................................................................................................284

Appendix C Problem-Solving Strategies ............................................................................................................. 289


Boundary Condition Issues ....................................................................................................................................289
Fixed Pressure Outflow .....................................................................................................................................289
Inflow Turbulence Values .................................................................................................................................289
Define the Boundary Geometry ............................................................................................................................290
Geometric Detail ...............................................................................................................................................291
Placement of Inflow/Outflow Boundaries ........................................................................................................291
Develop Models Systematically.............................................................................................................................291
Gridding Issues ......................................................................................................................................................292
Volume Calculations .........................................................................................................................................292
Two-Dimensional Grids .....................................................................................................................................292
Narrow Domains and Flow Passages ................................................................................................................293
Grid Quality .......................................................................................................................................................293
Near-Wall Cell Size for Turbulence Models ......................................................................................................293
Chimera Grid Resolution ...................................................................................................................................293
Focus on the Fluid Region .....................................................................................................................................294
Initial Condition Issues ..........................................................................................................................................294
k and e ..............................................................................................................................................................294
Density ..............................................................................................................................................................294
Pressure ............................................................................................................................................................294
Numerical Issues ...................................................................................................................................................294
Differencing Schemes .......................................................................................................................................295
Roe’s FDS ..........................................................................................................................................................295
Van-Leer’s FVS ..................................................................................................................................................295
Entropy Fix.............................................................................................................................................................295
CFL/Time-step .......................................................................................................................................................295
Plan, Plan, Plan ......................................................................................................................................................296

Appendix D Mesh Types .................................................................................................................................... 297


Chimera Meshes ....................................................................................................................................................297
O-Type Mesh .........................................................................................................................................................298
H-Type Meshes ......................................................................................................................................................299
C-Type Structured-Mesh Topology........................................................................................................................300

Thermal Coupling with ACE+ .............................................................................................................................. 303


Theoretical Treatment...........................................................................................................................................303
Activating thermal coupling of CFD-FASTRAN and CFD-ACE+ ...............................................................................304
Limitations .............................................................................................................................................................304

xi
Chapter 1. Introduction

ESI Group Around the World


ESI Group employs many high-level specialists worldwide. Headquartered in Paris, France, the company and its
global network of agents provide sales and technical support to customers in more than 30 countries. The
following figure shows some of our locations. Please visit www.esi-group.com for more locations and information.

ESI Group Locations Around the World

ESI Group Headquarters ESI Group Rungis


100-102 Avenue de Suffren Parc d'Affaires SILIC
75015 Paris 99 rue des Solets
FRANCE BP 80112
94513 Rungis cedex
Phone: +33 (0)1 53 65 14 14 FRANCE
Fax: +33 (0)1 53 65 14 12
Phone: +33 (0)1 41 73 58 00
Fax: +33 (0)1 46 87 72 02

1
CFD-FASTRAN V2014.0 User Manual

Customer Support
ESI-CFD provides excellent customer support, with staff spread around the globe. Please call on us if you have any
questions about the use of your software or modeling applications.

Web site http://www.esi-cfd.com (CFD Portal)


http://www.esi-group.com (Corporate)

Software support support.cfd@esi-group.com


File attachments up to 10 MB allowed.

ftp site ftp.esi-cfd.com


Use to upload files larger than 10 MB.

Contacts USA – Huntsville +1 (256) 713-4750

USA – San Jose +1 (408) 824-1212

USA – Detroit +1 (248) 381-8040

United Kingdom +44 (0) 1543 397 900

France +33 (0)1 41 73 59 42

Germany +49 201 125 072 14

Italy +39 05163335577

Israel +972 77 500 5864

India – Pune +91 20 2689 8172

India – Bangalore +91 80 4017 4709

China +86 (10) 65544907/8/9/10

Japan +81 045 682 7070


+81 03 6381 8496

Korea +82 02 3660 4500/4516


+82 31 737 2987

Australia +61 2 8571 0800

Go ToMeeting
http://www.gotomeeting.com / http://www.joingotomeeting.com

An e-mail invitation is usually issued, but you can look for the meeting
here.

Community Forum
http://www.esi-cfd.com/component/option,com_smf/Itemid,188/

2
Introduction

Used for consulting types of questions (for example, How can I do this?,
Have you ever done this?, Does anybody have an example of that?, and so
forth).

Only registered members are allowed to access this section, so you will
need to log in or register for an account with Community Forums.

Getting support from the Help menu


From the menu bar, click Help. You can then opt to open the help file, go to the ESI software home page, or view
information about the application you are running. The About submenu opens a splash screen that shows version
numbers for the application itself, libraries, and build platform as well as the build date and copyright information.

How to report problems


If the Help submenus do not answer your questions or address your concerns, you may contact ESI Support at
support.cfd@esi-group.com. File attachments are limited to 10 MB via e-mail. For larger files, use our ftp site
(ftp.esi-cfd.com).

When you report a problem please include the following information:

• Platform information
• Product/Application version number
• Modules/Features you were using
• Type of problem you were working on
• Any error messages that you may have received in the output/log files or on the screen.
• Applicable files (GGD, VGD, DTF, output files, etc. - put larger files on the ftp site)
• Precise description of how you observed the problem
• Instructions on how Support can reproduce the problem

Transferring files via ftp


ESI’s ftp site can handle large files, so do not be concerned about the size of DTF files that you upload.

Use your favorite ftp client or web browser to upload files to our ftp site, ftp://ftp.esi-cfd.com. The login name and
password for the public account on the ftp site is listed in the Knowledge Base section of the CFD Portal.

Customers who prefer to use a web browser with drag-and-drop functionality should use the following syntax:
ftp://username:password@ftp.esi-cfd.com/pub

After you have accessed ftp.esi-cfd.com, you can create a directory for your files under the pub subdirectory. In
your email to Support, inform Support where the uploaded files are located.

3
CFD-FASTRAN V2014.0 User Manual

Security concerns when using ftp


If you are concerned about protecting proprietary data, please be aware of the following:

• You can choose to send output files, log files or scripts instead of GGD, VGD, DTF, etc. files. Also, in case of
DTF files, you can choose to send only the output of the view data command:

• % DTF -vd model.DTF

This prints only the simulation data contained in the DTF file. There is no geometry or boundary condition
information printed. Support can resolve many problems just by looking at the simulation data settings.

• It is ESI Group policy to handle all customer data as confidential, even if a Non-Disclosure Agreement has
not been executed.

• ESI Group will sign a Non-Disclosure Agreement upon request. Contact your sales agent or Distributor to
discuss this option.

• Customer Support can set up password-protected ftp accounts on the ftp site so that no other users can
see your directory or files on the ftp server. No one but you and Support will know you are putting files on
the ftp server. Ask Support if you wish to have a password-protected ftp account.

• Support may be able to help you using GoToMeeting. GoToMeeting enables an on-line meeting where ESI
CFD Support Engineers can see your desktop, including your DTF file, and see the problems you are having
without the need for you to transfer any files off of your computer. GoToMeeting can allow the remote
party (Support) to take control of the mouse and drive the session, but this does not happen by default
(you would have to give permission). Please request a GoToMeeting session with Support if you feel this is
the best way to resolve your problem.

• You can often create a simplified model that represents your real model, but has different boundary
condition values and a different geometry. Sometimes in the process of creating a simplified model to
send to Support, you may discover that the simplified model works fine, and this additional information is
often enough to identify the root cause of the problem.

HOW TO DETERMINE YOUR PLATFORM

If you have properly installed the ESI CFD software and configured your environment, you should be able to open a
command-line shell. At the prompt, type the following text. (The subsequent output should be sufficient for
Support to know what platform you are actually running.)

% python2.7_cfd
>>> import platform
>>> print platform.platform()
>>> print platform.architecture()
<Ctrl-Z> to end the session (Ctrl-D on Unix/Linux)

In addition, you should provide information about which software package you downloaded. If you are on a Unix
or Linux system, or you can run Cygwin under Windows, you can get the canonical platform name by running this
script:

% getCanonical.sh

4
Introduction

If ESI_HOME is set correctly and $ESI_HOME/2014.0/UTILS/bin is first in your PATH, both these commands will be
found. Windows users without Cygwin can send the output from the Python commands; that is sufficient.

Windows users may first need to set PYTHONHOME so that the interpreter finds its required library files. Do this
either under Settings/Control Panel/System/Advanced/Environment Variables, or from a DOS shell:

% set PYTHONHOME="%ESI_HOME%\2014.0\UTILS\Python2.7_CFD"

HOW TO DETERMINE THE PRODUCT/APPLICATION VERSION NUMBER

1. Launch the product/application (CFD-GEOM, CFD-ACE-GUI, etc.)

2. Click the Help menu.

3. Click About <application name> (for example, About CFD-ACE-GUI).

4. Make a note of the version number.

-or-

1. Open a command prompt.

2. On the command line, enter, for example, CFD-ACE-GUI -v and press Enter. This command is case
sensitive and includes a space before –v. A file (CFD-ACE-GUI.version in this case) is created, in the current
working directory, which contains the build date and version information.

5
Chapter 2. CFD-FASTRAN Overview

About the CFD-FASTRAN Software


CFD-FASTRAN software components share a common data model known as DTF (data transfer facility. (Appendix
B - DTF Utility provides more information about DTF.) The main components of CFD-FASTRAN include CFD-GEOM,
CFD-FASTRAN-GUI, CFD-FASTRAN-SOLVER, and CFD-VIEW.

CFD-GEOM creates a geometry and a mesh. Optionally, users can import geometry from other packages; CFD-
GEOM supports a variety of formats. Once a mesh has been created, users save it as a DTF file. The DTF file is
empty at this point in the process, except for the mesh.

CFD-FASTRAN-GUI applies boundary conditions to the model, and sets up the input parameters for the solver and
for the simulation run. After the model is setup and ready to run, users may either launch the case directly from
the GUI, or they may run the case from the command line. Either way, the completed model setup is saved to the
DTF file prior to running the case. It now contains the mesh plus all the settings; this collection of data is called a
simulation.

CFD-FASTRAN-SOLVER loads the DTF file and performs the simulation, saving the results back to the DTF file. It
also saves additional data that would be needed to restart the simulation. CFD-FASTRAN-SOLVER does not itself
have a GUI.

CFD-VIEW loads the DTF file, at any point in the process, and examines the mesh or solution results.

The following diagram illustrates how the components work together.

7
CFD-FASTRAN V2014.0 User Manual

CFD Software Components

Running the Solver


CFD-FASTRAN-SOLVER can be launched in one of two ways: directly from CFD-FASTRAN-GUI using the Start
Simulation button on the Run Panel, or from a command line prompt using the CFD-FASTRAN-SOLVER command.
Once the simulation is running, it interacts with CFD-FASTRAN-GUI (if running) and CFD-FASTRAN-PLOTTER
through various files, as indicated in the following diagram.

8
CFD-FASTRAN Overview

Simulation interactions

CFD-FASTRAN-GUI writes simulation settings to the DTF file which the solver reads when starting. This is a one-
way interaction only. As the solver is running and writing results to the DTF file, the information saved in the
memory of CFD-FASTRAN-GUI is not automatically refreshed. Thus, if you Save the model from the GUI while the
case is running, for example, you may get a message if the solver is also currently writing to the DTF file. If you do
Save As while a case is running---Save As deletes any existing zonal solution data by default---you will lose any
results previously written by the solver.

The MOD file is a simple way to interact with the running solver process. It is an ASCII text file that uses a simple
keyword/value syntax to specify settings that the solver knows how to change on the fly. Users can create this file
manually by themselves, using a text editor. The GUI automatically creates a MOD file if the user presses any of
the Stop, Save and Stop, or Save and Continue buttons. The solver checks at the end of each cycle to see if a MOD
file exists. If it finds one, it reads the instructions contained inside, then deletes it.

The RSL file (and all other solution-history files) can be plotted by CFD-FASTRAN-PLOTTER, which can be launched
directly from the GUI from the Run Panel / View Residuals button, or can be launched from a command line
prompt using the CFD-FASTRAN-PLOTTER command.

Installed Package Contents


In some rare occasions it is useful to understand in more detail what is included with the various software
packages available for download through the Support web site. This section describes the contents of the
FASTRAN_SOLVER and FASTRAN_GUI packages.

What Packages to Download


In order to have a complete installation, users must obtain at least the following 2014.0 packages:

9
CFD-FASTRAN V2014.0 User Manual

1. UTILS package. This package contains numerous utilities and libraries required for any ESI CFD software
to work properly. It also contains wrapper scripts for every executable, including CFD-FASTRAN-SOLVER,
CFD-FASTRAN-GUI, CFD-GEOM, CFD-VIEW, and so forth. Users must have $ESI_HOME/2014.0/UTILS/bin
first in their PATH in order to properly run ESI CFD software. These wrapper scripts set up other required
environment variables needed by the actual executables. It also contains extra utilities and programs such
as the following:

• SimManager (Python interpreter and GUI toolkit for customized-application creation and
execution using Scripting).
• CFD-Toolkit (helpful utilities for converting files into DTF format, exporting DTF to other formats,
mapping simulations from one model to another, etc.)
• DTF (command-line program to interrogate or modify DTF files)
2. LICENSES package. This contains essential components related to licenses required to run any ESI CFD
software.

The CFD-FASTRAN Base Package includes the following packages:

• CFD-FASTRAN-SOLVER package
• CFD-FASTRAN-GUI package
• CFD-GEOM package
• CFD-VIEW package

Users who purchase an additional FASTRAN-FSI license will need to get the following packages:

• CFD-ACE-SOLVER package (only Stress module cases are enabled by the FASTRAN-FSI key)
• CFD-ACE-GUI package

Contents of CFD-FASTRAN-SOLVER Package


The following chart shows a Windows Explorer view of the bin subdirectory of the CFD-FASTRAN-SOLVER package
for the pc-windows-nt6-x86 platform. The files in the bin subdirectory are uniformly the same for all platforms
with only a few exceptions.

File Description
CFD-FASTRAN-SOLVER Python script converted to DOS executable which is the unified front-end for
serial and parallel jobs.

CFD-FASTRAN-SOLVER-DP Double-precision solver executable used for serial or structured-mesh parallel


cases.

CFD-FASTRAN-SOLVER-SP Single-precision solver executable used for serial or structured-mesh parallel


cases.

CFD-FASTRAN-SOLVER-DP-MPICH Double-precision solver executable used for unstructured-mesh parallel cases.


Users on HP-UX platforms will find executables with extension -HPMPI
instead of -MPICH. On HP-UX platforms, we use HP's MPI instead of MPICH.

CFD-FASTRAN-SOLVER-SP-MPICH Single-precision version of CFD-FASTRAN-SOLVER-DP-MPICH

10
CFD-FASTRAN Overview

dtf_decompose Utility called by CFD-FASTRAN-SOLVER for decomposing models into equally-


sized parts for unstructured-mesh parallel simulations

dtf_map_file Utility called by CFD-FASTRAN-SOLVER for un-decomposing models


(recombining DTF files) for unstructured-mesh parallel simulations

mdicec Utility called by CFD-FASTRAN-SOLVER for executing a script that controls


modules involved in structured-mesh parallel and fluid-structure simulations

mdiced Utility called by CFD-FASTRAN-SOLVER for launching modules on various hosts


that will be involved in a structured-mesh parallel or fluid-structure simulation

mdiceg Unused utility that may be needed for on-site debugging of problems

mdicer Utility called by CFD-FASTRAN-SOLVER for keeping track of the status (alive or
dead) or various mdicec and mdiced processes.

mdInterface Module used in structured-mesh parallel and fluid-structure simulations when


the model contains zonal interfaces

par_util Utility called by CFD-FASTRAN-SOLVER for decomposing models into groups of


zones (as assigned by user) for structured-mesh parallel simulations

remote-exec Utility called by CFD-FASTRAN-SOLVER to execute Python commands on


remote machines (e.g. to verify that user environment on remote machine is
correctly configured)

python27_cfd.dll, MSVCR100.dll, Dependencies of the DOS executable CFD-FASTRAN-SOLVER arising from the
all .pyd files Python-to-DOS conversion process.

libifcoremd.dll, libifportmd.dll, Intel compiler libraries that may be dynamically loaded during execution by
libmdd.dll one of the solvers. These may also be needed for user subroutines. Libraries
are shipped because the customer may not own the same compiler or may
not own any compiler at all.

The data subdirectory contains four files: fastran_lotemp.dat, fastran_molecular.dat, fastran_trans.dat, and
mdiced.config.

• fastran_trans.dat - old 2004 species-property database files used by the solver when directly running
models created with 2004 versions of CFD-FASTRAN-GUI. In 2006 and later versions, the contents of
these files have been included into binary-format database files stored in the GUI package instead of the
SOLVER package. These files are the species low temperature thermodynamic properties database, the
species molecular thermodynamic properties database, and the species transport properties database,
respectively.
• mdiced.config - configuration file used by the mdiced process

The docs subdirectory contains a PDF version of the entire Help system you are presently looking at.

The lib subdirectory contains two files: which.py and RemotePythonCalls.py

• which.py - a Python module used by CFD-FASTRAN-SOLVER to determine the directory location of various
files

11
CFD-FASTRAN V2014.0 User Manual

• RemotePythonCalls.py - a Python module used by remote-exec to carry out certain functions on remote
hosts used in a parallel simulation

Contents of CFD-FASTRAN-GUI Package


The following chart shows a Windows Explorer view of the bin subdirectory of the CFD-FASTRAN-GUI package for
the pc-windows-nt6-x86 platform. The files in the bin subdirectory are uniformly the same for all platforms with
only a few exceptions.

File Description
CFD-FASTRAN-GUI Graphical front end used to set up models for running with CFD-FASTRAN-
SOLVER. Solver runs may be launched from the Run Panel directly, or the
model can be saved to DTF and the solver may be launched from the
command line.

CFD-FASTRAN-PLOTTER Python script converted to DOS executable that launches CFD-FASTRAN-


GUI in standalone residual plotter mode.

python27_cfd.dll, library.zip, all Dependencies of the Python-to-DOS conversion process for the residual
pyd files, msvcp100.dll, plotter
msvcr100.dll

The database directory contains only one file: esi-fastran.sdb. This file is a binary-format database containing all
the species property and transport property information previously found in fastran_lotemp.dat,
fastran_molecular.dat, and fastran_trans.dat files.

The docs directory is a duplicate of the solver docs subdirectory.

The lib directory will contain compiler-provided libraries on certain platforms.

The webhelp directory contains all files related to the Help system. Users who have trouble launching the Help
system can browse to the top-level of the webhelp directory and launch their favorite Web Browser by double-
clicking on the index.html file. This is effectively what CFD-FASTRAN-GUI does when it launches the Help system.

The ScriptLanguage directory contains numerous Python module files. Some (those starting with "GUI") provide
users with GUI scripting functions. Others (those starting with "D") are used by the Database Manager itself. The
Database Manager graphical configuration is largely controlled by Python settings.

Non-ESI-CFD Software
ESI recognizes that users sometimes use other CAD packages, mesh generation packages, and post-processing
packages provided by other vendors, and we strive to make this kind of solution as easy as possible for our users.
All ESI CFD software shares a common data model known as DTF (data transfer facility), and our general solution
to working with other packages is to provide translators (import and export) for the DTF data model.

CFD-FASTRAN-GUI offers the ability to import mesh data from various file types in addition to DTF. (See the figure
below.) CFD-Toolkit offers equivalent functions to convert these other files into DTF files. CFD-Toolkit can also
export DTF to other formats. CFD-VIEW can read other file types besides DTF, if users already have solution data

12
CFD-FASTRAN Overview

files in another format (CFD-VIEW Import options). CFD-GEOM can import various geometry and mesh formats.
Users export DTF files from CFD-GEOM, and can export geometry in other formats as well.

The following diagram shows the supported file types that can be imported into CFD-FASTRAN-GUI.

Supported file types that can be imported into CFD-FASTRAN-GUI

CFD-Toolkit Import / Export Features


Rather than work directly with other CFD data formats, we provide CFD-Toolkit for users to convert their files into
DTF files, before loading into CFD-FASTRAN-GUI or CFD-VIEW. All ESI-CFD softwares are designed to work with DTF
files. This common data model enables our applications to work together, and it minimizes the number of files
users need to maintain as part of a model. In addition, CFD-Toolkit can take DTF files that contain solution results
and export them to TecPlot or Ensight formats.

13
CFD-FASTRAN V2014.0 User Manual

Translating Other Data Files into DTF Files


Translation-to-DTF utilities are accessed under the Translate tab of the CFD-Toolkit main window. CFD-Toolkit can
convert Fluent MeSH format, ANSYS files, NASTRAN files, Plot3D and FAST formats from NASA, and CGNS (CFD
General Notation System). Just import the file and save as DTF to perform the conversion.

CFD-Toolkit importing other file types dialog box

14
CFD-FASTRAN Overview

Export DTF Files to Other Formats


DTF-export utilities are accessed under the Post-Processing tab of the CFD-Toolkit main window. CFD-Toolkit can
export to TecPlot or Ensight or Kuli formats, or the Plot3D format from NASA. The Plot3D export process produces
a grid file (PFG extension), a variable file (VAR), and a Plot3D function file (PFF). The format is multi-domain and
the data is Formatted. Users can read the set of three files into CFD-VIEW by checking the appropriate check
boxes in the CFD-VIEW File Open panel.

CFD-Tookit for exporting DTF to other formats

CFD-GEOM Supported Import / Export File Types


CFD-GEOM is primarily intended to help users create meshes for use with ESI CFD solvers. Users can either create
geometry inside CFD-GEOM, or import it from other formats. CFD-GEOM saves all mesh-related construction
information in its own native file format, which has the extension GGD. Meshes are exported into DTF files for
setup using CFD-FASTRAN-GUI. Geometry can also be exported into some popular geometry export formats. This
feature enables CFD-GEOM to be used as a CAD package itself.

15
CFD-FASTRAN V2014.0 User Manual

Import Formats for External Geometry or Mesh Data


Users can choose to create geometry inside CFD-GEOM, or they can choose to import geometry, or meshes, from
numerous other formats. The Open File dialog shows what file types are supported for Import. SAT is a common
3D modeling geometry format used by many popular CAD packages. IGES is another widely available NURBS-based
geometry format. TAB is an easy-to-learn format for inputting lists of points and curves.

CFD-GEOM supported geometry import formats

Export Formats for Geometry or Mesh Data


The Save As dialog below shows the supported export formats for CFD-GEOM. The native file type for CFD-GEOM is
the GGD file. Users can save SAT, IGES, or STL geometry files (these will not contain any mesh data present in the
model). Users with unstructured-mesh models can save into Nastran, Patran or FAST formats. Users with
structured-mesh models can save into Plot3D format.

A GGD file is an ASCII file containing all point, line, curve, etc. entities (geometry), as well all mesh-related data and
BC/VC data (if any). It is not documented for users as it is not intended for users to modify the file. It is sometimes
possible, however, for developers to make manual fixes inside the GGD file for backward-compatibility or other
reasons. Generally, though, CFD-GEOM has a rigorous internal-checking mechanism that ensures the validity of
the geometry/mesh data saved to the GGD file.

16
CFD-FASTRAN Overview

CFD-GEOM Save File dialog box

CFD-VIEW Support Import / Export File Types

Import Formats for Solution Data


CFD-VIEW can read various file formats in addition to DTF, if needed. The following diagram shows the supported
import file types.

Sometimes it can be very helpful to import geometry data from a separate file, in addition to the solution data
contained in the DTF file, because visualizations are most effective when the scene shows the geometry in (or
around) which the flow occurs. CFD-VIEW allows users to import multiple files into the same scene; each file may
contain different data.

17
CFD-FASTRAN V2014.0 User Manual

CFD-VIEW supported import file types

The following picture illustrates the point of importing additional geometry in addition to solution data contained
in the DTF file. In this calculation, the model is axisymmetric. However, a full 3D geometry model was constructed
in CFD-GEOM (by revolving the cross-section), and saved to a separate DTF file. Both the 3D geometry DTF file,
and the axisymmetric-solution DTF file were imported into CFD-VIEW, so that the flowfield can be shown in their
proper context. Without visualizing the 3D geometry, there would just be a blank white space where the geometry
should be, and the picture would be less effective.

18
CFD-FASTRAN Overview

Importing additional geometry

Export Formats and Files


CFD-VIEW saves MDL (model) files. MDL is the native file type of CFD-VIEW. Model files contain primarily
information about the visualization scene--what objects exist, what is the angle of the current view, what is hidden
and hat is visible, etc. Users may specifically indicate that the MDL file should also contain the solution data, for
convenience, but this option increases the file size.

Users can save post-processed results in many different ways:

• Line plots can save their data to a file.

• Save Object on the File Menu will save data associated with an X-Cut, for example, to a file. See the CFD-
VIEW documentation for specification of the format.

• Snapshots of the screen can be saved in a variety of common formats: PNG, GIF, and so on.

• Animations can be saved in a variety of common formats: animated GIF, MPEG; or as a series of still
images. Animations saved as animated GIF can be easily converted to AVI format by numerous free or
inexpensive programs available on the Web.

AVI (audio/visual interleaved) is an uncompressed format that is impractically large for most purposes. To
create usable AVI files, you need a compression/decompression library (codec). Many codecs exist, and
most Windows systems ship with the most common codecs, but fundamentally a specific codec must be
licensed into a product to either create or read an AVI file created with a particular codec. Because of this
situation, and because AVI compression for CFD data is quite lossy (poor quality), CFD-VIEW does not
output AVI files at the present time. We rely on users to supply their own means of converting animated
GIFs to AVIs, if desired. Note that PowerPoint versions 2003 and later can embed animated GIFs directly
into slides, so AVI files are not necessary.

19
Chapter 3. Features and Applications

Overview of CFD-FASTRAN
CFD-FASTRAN delivers the state of the art in widely used CFD methodologies for the solution of various
applications of interest to the aerospace industry and aerodynamics community at large.

The solver uses a finite-volume-based compressible flow formulation for general reacting flows, and supplements
this wide-ranging accurate fluid dynamics capability with various techniques and models that help deal with
complex geometry and complex systems.

Some of the key features of CFD-FASTRAN include the following:


1. Ability to solve models constructed by the Chimera (overset) grid approach
2. Tightly coupled 6-DOF (degree-of-freedom) calculations for rigid bodies moving due to aerodynamic
forces and moments, or prescribed motions
3. Powerful motion-model features, including:
o Specification as linear or angular motions
o Specifications in terms of displacements, or velocities, or accelerations
o Specifications in body-fixed or inertial frame of reference, or in the frame of reference of another
motion model
o Time-based or distance-based constraints
o Time-dependent mass properties of the body
o Comprehensive output including forces, moments, angular velocities, accelerations and body
orientation in any user-defined axis system.
4. Built-in models for
o Thrust as a function of time (nozzle exhaust total pressure, motor ignition, for example)
o Point forces (e.g. jettisoned canopy)
o Spring forces
o Time-dependent mass variation
5. Support for structured grid systems or unstructured grid systems
o Multiple zones may be patched or overset (Chimera)
o Chimera grid connectivities can be manually specified, or automatically determined in some
cases
6. Models can be built in any unit system
7. Support for most common boundary condition types used in aerodynamics
8. Fixed mass-flow-rate inlet or fixed total conditions (pressure and temperature) inlet
o Extrapolation or fixed pressure outlets
o An inflow/outflow boundary suitable for representing the farfield for external aerodynamics
problems

21
CFD-FASTRAN V2014.0 User Manual

o Adiabatic walls (with or without radiative equilibrium), walls with uniform specified temperature
or heat flux, aeroelastic wall (fluid-structure interface)
o Symmetry
o Overset boundaries (Chimera) or zonal interface boundaries
o Time-dependent total temperature and pressure for representing nozzle exhaust conditions
9. Flexible ways to get force and moment outputs from the solver
o Zone-based force summaries or patch-based force "section" summaries (IJK range on all or part
of a 2D structured-mesh surface), dimensional or non-dimensionalized by user-specified
parameters.
o Field monitor points, which are like experimental probes, to obtain solution data at specific
locations within the flowfield. The probes are attached to specific grid cells, meaning that if the
grid moves (that is, due to the motion of some body which is wrapped by the grid) then the
probe moves as well.

Multi-Zone Mesh Systems

Overview of the Multi-zone Mesh Systems


CFD-FASTRAN supports models discretized as a collection of zones, so that complex configurations and spaces can
be discretized without too much trouble. The computational meshes may be structured, unstructured, or hybrid
combinations of both grid types. The zones can be connected either by abutting one another (patched), or overset-
ting one another (Chimera). The implementation of the overset-grid (Chimera) technique is fully automated for
improved ease-of-use.

For complex geometries, it is easier to use multiple grid zones rather than a single zone. It is frequently not
possible to fit a single block into a complex shaped region or, if it is possible, the resulting grid would be of low
quality. The multiblock approach is also sometimes called multizone or composite-grid approach.

In the multiblock technique, the individual blocks need to be designed to abut or overlap in order that flow
information can be communicated between the blocks by the flow solver. There are two methods for connecting
the blocks to each other in CFD-FASTRAN: patched or abutting grids and overset or Chimera grids.

The choice of which method to use depends on the geometry, and on user preference. In CFD-FASTRAN, interfaces
must be point-matched, and solution values are determined by linearly averaging the flow values on either side of
the interface, thus it is effectively a second-order accurate average. There is no guarantee of conservation of mass,
momentum, and energy across the interface.

Overset and overlap methods also use interpolation to transfer information and therefore are also not
conservative. The formal accuracy is also second-order, but in practice overset mesh interpolations may be more
accurate than patched meshes, because overset-boundary nodes are located between sets of interpolation nodes
that are interior nodes in the other mesh system.

CFD-FASTRAN supports both structured and unstructured mesh systems. A model can be built from one or more
zones, where each zone can be structured or unstructured. Generally, models contain either all structured zones
or all unstructured zones. Some CFD-FASTRAN capabilities only work for structured zones, and if there is a single
zone in the model that is unstructured, all zones are handled by the unstructured algorithms inside the solver.

22
Features and Applications

There are two flow solvers currently in CFD-FASTRAN, structured and unstructured. The structured flow solver is
currently more advanced in features and flow physics than the unstructured solver.

The structured flow solver employs a structured, multi-domain approach to enable the user to simulate flows in
complex geometric configurations. Solid obstacles in the flow can be modeled with the blockage concept.
Structured grids are of a highly ordered nature and can be represented in order pairs (i, j) for two-dimensional
flows or triplets (i, j, k) for three-dimensional flows. Currently, the CFD-FASTRAN structured flow solver has no grid
generation capability internal to the code. Suitable grids must be constructed elsewhere and imported into the
flow solver. The primary grid generator supported by CFD-FASTRAN is CFD-GEOM. In addition to output from CFD-
GEOM, the structured flow solver GUI can read grids in PLOT3D format or DTF format.

The unstructured flow solver employs a general unstructured, multi-domain approach. The term "general
unstructured” refers to the variety of cell types supported, which includes triangles, quadrilaterals and polygons in
two-dimensions and tetrahedrons, hexahedrons, pyramids, prisms and polyhedrons in three-dimensions. In short,
any cell type is supported. The unstructured flows solver (also referred to as the polyhedral solver or poly-solver)
can handle different cells types within the same domain, such as prisms and tetrahedrons in a single zone. The
unstructured flow solver in CFD-FASTRAN has no grid generation capability and must import grids generated
elsewhere. The grid generators supported by unstructured CFD-FASTRAN are CFD-GEOM and CFD-VisCART which
supply data in DTF format.

Structured Meshes
A structured grid is a type of discretization that allows each grid point to be identified by parametric indexes (i, j,
and k). Body-fitted structured grids are in wide use today. In a body-fitted curvilinear structured grid, a regular I x J
x K computational cube is mapped onto a body by deforming the mesh so that one or more surfaces coincides with
the body surface, as shown in the following figure.

Deformed mesh where one or more surfaces coincides with the body surface

The three-dimensional block has six faces, as shown in the following exploded view:

23
CFD-FASTRAN V2014.0 User Manual

Six faces of a three-dimensional block

QUALITIES OF A GOOD STRUCTURED MESH

The terminology for commonly-described grid characteristics for structured grids is illustrated in the following
figure:

Terminology for commonly-described grid characteristics for structured grids

24
Features and Applications

Good grid characteristics include the following:

• Orthogonal cells allow more accurate numerical approximations to the individual terms in the governing
equations.

• Smooth (slow) spatial variation in grid-spacing and cell-volume are important for accuracy and stability
(convergence) of structured-grid flow solvers.

• Resolution should be appropriate to the flow physics. Generally, high-aspect ratio cells are only used in
high-speed viscous boundary layers. In a region where flow gradients in all directions are comparable, a
high-aspect ratio cell will underrepresent the gradient in the long direction of the cell. This is a typical
source of uncertainty for separation/reattachment prediction in high-speed flows.

GRID TOPOLOGY

The three fundamental structured-grid topologies used for 2-d single-block structured grids include the following.

1 C-type

2 O-type

3 H-type

In 3-d, any combination of the 2-d topologies can be used. The most common ones include the following:

4 C-H

5 C-O

6 O-O

SINGLE-BLOCK AND MULTI-BLOCK

For simple geometries, it may be possible to fill the computational domain with a single structured-grid block. For
complex geometries, though, multiple blocks will be needed. There are several techniques (patched, overset) for
placing multiple blocks inside a computational domain. The choice depends on the flow solver support for these
techniques.

Structured grids are meshes with an ordered arrangement of control volumes or cells such that each cell can be
uniquely identified by indices (I, J, K) corresponding to each coordinate direction. In other words, the mesh is
conceptually a cube.
CFD-FASTRAN can handle a single structured-grid zone or a combination of several structured-grid zones. Cases
with multiple structured-grid zones that abut one another are traditional "multi-block” cases. CFD-FASTRAN
presently handles multi-block structured grids that have a one-to-one match at the boundaries. This means that
each face in one grid must align with one and only one face in an adjacent grid.

25
CFD-FASTRAN V2014.0 User Manual

Overset (Chimera) grids are structured-grid zones that partially occupy the same physical space. The overlapping is
an allowance for the user to make it easier to construct meshes for systems composed of multiple components by
gridding each component separately without regard for the other components.

CFD-FASTRAN automates the process of ”"locking out” regions of certain zones that occupy space physically inside
solid bodies represented by the "non-penetrable” boundaries of other zones. It also automates the process of
establishing interpolation stencils for communicating flow data between overlapping grids.

Patched Meshes
One-to-one patched-grid interfaces occur when the grid points exactly match in both of the abutting grid blocks, as
shown in the following illustration. With a one-to-one interface, the flow solver can carry flow-related information
from one mesh into the other without losing any resolution of the fluid dynamics (along the interface). Many-to-
one patched-grid interface s occur when the grid spacing along the interface is some integer multiple (for example,
2:1) of the grid spacing on the other side of the interface, as shown below. Multi-to-one interfaces are not
presently supported by CFD-FASTRAN.

One-to-one patched-grid interfaces

26
Features and Applications

Multi-to-one interface

Chimera (Overset) Meshing Technique


The overset or Chimera methodology was originally developed to allow a system of relatively simple structured
grids to define a geometric model. The basic idea is to construct a structured grid around each component of an
aircraft or other body immersed in a fluid flow. After each component domain is discretized, all structured grids
are linked into a composite description. The resulting composite grid has regions where two or more grids may
overlap. Interpolation boundaries must be established on the overlapped domain to permit the exchange of flow
information from one grid to the next.

CFD-FASTRAN routinely handles Chimera grid problems. The user can supply a list of grids, in the GUI, which
interact or overlap. Based on this information, CFD-FASTRAN properly cuts holes due to solid surfaces of specified
domains and then develops interpolation information.

The overset algorithm is currently supported by both the structured and unstructured solvers in CFD-FASTRAN. The
primary goal of the Chimera implementation in CFD-FASTRAN is to allow for moving body problems although the
overset approach can reduce the time/burden of grid generation. The approach taken is to build grids around each
body being studied. The user is required to supply information via the GUI to tell the flow solver which grid
systems talk to other grids. For moving body problems, the Chimera algorithm updates hole cutting and boundary
interpolation as the body surface and boundaries move.

Chimera and overset grids are grid systems which overlap each other arbitrarily, as illustrated in the following
figure. They are applicable to both structured multiblock grid systems and unstructured multizone grid systems.
The chimera method is more flexible for handling complex geometries than patched grids. Chimera grids are
widely used because of their flexibility, and also for problems with bodies in relative motion to one another.

Overlapping grid systems

27
CFD-FASTRAN V2014.0 User Manual

In chimera, parts of individual grid zones that are unimportant or lie inside a solid body are cut away. Figure 2, for
example shows a schematic of an airfoil mesh and a flap mesh where part of the airfoil mesh has been cut out by
the flap mesh. The flap mesh "cuts a hole" in the airfoil mesh so that the airfoil mesh does not have any grid points
laying inside the solid flap geometry.

Part of the airfoil mesh has been cut out by the flap mesh

The most common use of chimera methods is in wing-body problems. Separate meshes are used for the wing and
body, and a third "collar" mesh (O-type) is used around the wing-body junction. A second common use of chimera
methods is for store-separation problems.

Supported Unstructured Cell Types


Unstructured meshes are discretizations into cells for which no "grid” indices (I, J, K) can be assigned to uniquely
identify a given cell. The "connectivity” between a given grid cell and its neighbors, necessary for computing the
transport of mass, momentum and energy from one cell into the next, is not implied by its cell identification index.

Instead, the flow solver must maintain explicit "linked lists” to connect cells to the faces that create the cell. Also, a
linked list is needed to link a face to the nodes or points that construct the face, and to link cells to the nodes that
construct the cell. These linked lists provide the equivalent connectivity information that is implicit in a structured-
grid zone.

As with structured grids, unstructured meshes can also be comprised of multiple zones. Multiple unstructured-grid
zones may be useful when a single component feature of a vehicle or system is being designed (revised), while the
majority of the configuration is not changing.

For 2D models, CFD-FASTRAN can handle triangles, quadrilaterals and/or polygons (arbitrary number of cells). As in
the structured case, 2D meshes must reside in the XY plane. CFD-FASTRAN is also able to solve for flows on 3D
unstructured meshes that are constructed of tetrahedral, prism, hexahedral and/or polyhedral cells, or combina-
tions of these cell types.

28
Features and Applications

Unstructured meshes may be comprised of tetrahedral cells, prismatic cells, pyramidal cells, or indeed cells with
any number of faces. Traditional unstructured cell types are shown in the following illustration. Structured cell
types are uniformly quadrilateral or hexahedral, in 2D and 3D respectively.

Traditional unstructured cell types

Polyhedral cells are cells with an unknown (arbitrary) number of faces. The mesh system connectivity is again
similar to unstructured, but algorithms and formulations must be generalized to handle the arbitrary number of
faces of any given cell. Poly cells can be generated by various tools that use local refinement or perform cell-
cutting while creating the mesh, for example, CFD-VisCART.

Polyhedral cells

Rigid Moving-body Models


CFD-FASTRAN can handle moving bodies by leveraging the Chimera gridding technique. Currently, the moving-
body capability requires that the body is rigid. The moving-body grids could either be structured grids or

29
CFD-FASTRAN V2014.0 User Manual

unstructured grids. The motion of the body can be determined by a six degree of freedom calculation or prescribed
by the user.

The CFD-FASTRAN package is designed to account for bodies undergoing motion, whether this motion is governed
by physical phenomena or prescribed by the user. The moving body capability is restricted to the structured flow
solver. Motion due to physical phenomena, such as aerodynamic forces or gravity, is based on the general
equations of motion. This is often referred to as six-degree-of-freedom (6DOF) motion for the three translations
and three rotations possible. The flow solver calculates pressure and shear forces on wall surfaces. These
aerodynamic forces are summed and passed to the 6DOF algorithm. Additional options exist for gravity, point
forces (ejectors/small rockets) and thrust. The 6DOF algorithm is allowed to take constraints into account which is
referred to as constrained motion. Constraints are important for hinges, rails, or other cases where all six degrees
of motion cannot occur.

The flow solver is also coupled with an advanced prescribed motion algorithm. Prescribed motion is used when the
engineer knows the exact motion of the moving body. This motion may be known due to wind tunnel tests, ground
tests or due to design requirements/constraints. The flow solver will calculate the flow about the body as it moves
based on user input.

Six Degree-of- Freedom Models


The six degree-of-freedom, 6DOF, routines are based on the fluid flow solution in CFD-FASTRAN. Pressures and
shear stresses are used to determine forces and moments on the body. In turn, these forces and moments are
used in the general equations of motion to calculate translational and rotational displacement for the body.
Additionally, linear and angular velocities are determined for the body motion.

Prescribed Motion Models


The remaining CFD-FASTRAN moving body option is for prescribed motion. Through the GUI, the user can select
body accelerations or velocities and constraints. CFD-FASTRAN uses this information to move the body through the
flow field.

Solver Simulation Methodology


Numerous approaches and schemes have been developed over the years to solve discretized numerical
formulations of the types of models one can develop with CFD-FASTRAN. From these schemes, a few well-known
and robust methodologies have been selected for use in CFD-FASTRAN.

Time-Marching Approach
Regardless of whether the physical problem is time-dependent or steady-state, the numerical solution is obtained
by the techniques for a time-dependent problem. An initial condition is always defined, and the solution is
marched in time for whatever duration the user specifies. If a steady-state solution is sought, then users monitor
residuals and watch them until they converge; convergence indicates that the steady-state has been reached. For
transient flows, the residuals are not meaningful, although they can still be helpful in showing when the flow has
reached a stationary transient behavior, which can happen if the user has not specified a physically realizable initial
condition.

30
Features and Applications

Conservative Density-Based Formulation


CFD-FASTRAN solves the fluid dynamic governing equations in a strong conservation-law form, using a density-
based formulation. This is a very natural and effective approach for high-speed compressible flows, more efficient
and more accurate than alternative schemes using pressure-based or non-conservative formulations. This is
especially true if the flow contains shock waves, expansion waves, slip lines, and other discontinuities associated
with convective nonlinearities.

Incompressible fluids and flows are not modeled by CFD-FASTRAN. For gases, which are what CFD-FASTRAN
models, this is acceptable, because gases are compressible substances. The allowable time-step sizes used by CFD-
FASTRAN may be anywhere from 1 microsecond to 1 millisecond, depending on the numerical formulation
(explicit, implicit) chosen by the user. Regardless of the scheme, the acoustic wave propagations are modeled. In a
low-speed flow, it may take several seconds for the flow to reach a steady state or a stationary state. The lower
the speed, the longer it takes. Thus, as a flow approaches the no-speed limit, it takes more cycles to simulate it
using CFD-FASTRAN.

Finite Volume Discretization


The governing equations are discretized and numerically integrated based on a finite-volume approach. This
method divides the flow domain into discrete points from which control volumes are built. Structured or
unstructured grids can be used with this approach since each cell can be considered a control volume. Flow
information is stored at each cell center.

The advantage of finite-volume discretizations as compared to finite-difference discretizations, is that they are
internally conservative and the governing equations do not require any transformation prior to implementation.
Finite-difference codes typically transform the governing equations into body-fitted coordinate systems, leading to
extremely cumbersome equations.

The advantage of finite-volume discretizations as compared to finite-element discretizations is that FEM


methodologies naturally produces matrix solution steps requiring high memory usage, whereas finite-volume
discretizations are more easily employed in matrix-free algorithms, with associated drastic reduction in memory
usage. Thus bigger problems can be handled. FEM codes have theoretical advantages, especially for viscous-
dominated flows, but typically in the aerospace industry the viscous effects are not significant to the pressure field,
and are anyway isolated to boundary-layer regions.

Upwind Approximations
In shock-capturing methodology, it is well known that numerical approximations are not physical unless
information is propagated in the same way, numerically, as it is physically. In supersonic flows, information only
propagates one direction. The flow from one cell to the next is determined by evaluating the fluxes across the
common face, using only information from the upwind direction.

CFD-FASTRAN has multiple upwind schemes in its formulation, since different schemes are preferred in various
situations. The current schemes include Roe’s flux difference splitting and Van Leer’s flux vector splitting schemes.
Typically, these schemes are spatially first order accurate. There are solution slope limiters in CFD-FASTRAN to
increase the spatial accuracy of the flux schemes to second or third order. The development of effective upwind
schemes continues to be an area of active research.

31
CFD-FASTRAN V2014.0 User Manual

Aeroelastic Analyses - Structural Coupling Module


Aeroelasticity is an important topic of interest to the Aerospace industry. Vehicles must be heavily tested to
determine flutter boundaries for certification or control system design. Other phenomena such as buffeting and
limit-cycle oscillations have serious consequences for the structural design, controls and handling.

For several years, CFD-FASTRAN has been used to study aeroelastic behaviors by linking to a structural dynamics
solver, namely the Stress Module of the CFD-ACE+ package. The solution procedure is a loosely-coupled algorithm
where pressures and displacements are exchanged between the fluid and structural models running in separate
processes. The exchange of information involves interpolations that are done in a consistent and conservative
manner. The computational framework leverages the MDICE (MultiDisciplinary Interactive Computing
Environment) framework. With suitable choice of time-step size, the numerical procedure is stable and accurate.

With our strategic partner CFDRC, many aeroelastic simulations have been performed on full vehicles as well as
simpler systems. With the extensive experience and validation of the capability, it has been released to the CFD-
FASTRAN user base starting with version 2004 of the CFD-FASTRAN package.

32
Chapter 4. File Management

About File Types

Imported File Types


CFD-FASTRAN converts and imports a number of external data files:

File type Description/Comments


Plot 3D Check box: IBC

FAST Requires additional data type and data format information.

MeSH

NASTRAN Requires additional data type and Surface Break Angle information.

PATRAN Requires additional Surface Break Angle information.

ANSYS Requires additional Surface Break Angle information.

MFG

AGRD

CGNS

To read in a particular file type, select the corresponding radio button in the Source group of the Convert and
Import External Data File dialog box.

33
CFD-FASTRAN V2014.0 User Manual

Open Data File WindowConvert and Import External Data File dialog box

File Types and CFD-FASTRAN Menus


The following table shows the file formats available under the Open, Import, Save, and Save As menus and toolbar
buttons.

Menu
File Type
Open Import Save

DTF * *

Plot 3D *

34
File Management

FAST *

MeSH *

NASTRAN *

PATRAN *

ANSYS *

MFG *

AGRD *

CGNS *

Related Topics
File Management

File Management

File > Open


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.

Import > Open


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.

Related Topics
About File Types

35
Chapter 5. Starting CFD-FASTRAN

Overview
You can start CFD-FASTRAN from three different operating systems:

1 Windows - Select Start--> Programs--> ESI CFD--> CFD-FASTRAN-GUI. This starts CFD-FASTRAN in the proper
mode for the CFD-FASTRAN-SOLVER.

2 MS-DOS - Enter CFD-FASTRAN-GUI on the command line.

3 UNIX - Enter CFD-FASTRAN-GUI at the UNIX prompt.

Command-Line Usage to Launch CFD-FASTRAN-GUI


For Linux- and Unix-based systems the GUI is started from the shell command prompt window. The following
forms will work as indicated:

% CFD-FASTRAN-GUI (just starts the GUI)


% CFD-FASTRAN-GUI model.DTF (starts and loads file)
% CFD-FASTRAN-GUI -dtf model.DTF (starts and loads file)

The following forms will not load the file:

% CFD-FASTRAN-GUI model (just starts the GUI)


% CFD-FASTRAN-GUI -dtf model (just starts the GUI)

If you launch CFD-FASTRAN-GUI without indicating a DTF file, then the first step you take should be to load a DTF
file.

For systems that do not have OpenGL support, or where the OpenGL drivers are buggy for the graphics card you
are using, the X version can be used instead. This employs the Mesa software simulation of OpenGL and is
somewhat slower, especially for large models, but if you need it, it is there:

% XCFD-FASTRAN-GUI

Note The MESA version (XCFD-FASTRAN-GUI) is not available for Windows-based systems.

For Windows-based systems the GUI can be started by typing either of the following commands at the MSDOS
command prompt:

> CFD-FASTRAN-GUI
> CFD-FASTRAN-GUI model.DTF
> CFD-FASTRAN-GUI -dtf model.DTF

37
CFD-FASTRAN V2014.0 User Manual

Alternatively, on Windows systems, CFD-FASTRAN-GUI can be started by selecting CFD-FASTRAN from the Start
menu or by clicking on shortcut to the CFD-FASTRAN executable on the desktop. The GUI window opens on the
user’s screen after this command.

Load DTF File


After launching CFD-FASTRAN-GUI, the first thing users are expected to do is load a DTF file containing the
computational mesh for the model under consideration. Typically, no specifications have been made, yet,
regarding the nature of the fluid or the flow, and no configurations have been made, yet, about how many cycles
to run and what output quantities to print. The purpose of CFD-FASTRAN-GUI is to provide an easy-to-use interface
for specifying those required inputs.

If the mesh has been built in some other package besides CFD-GEOM or CFD-VisCART, then it is possible that no
DTF file yet exists. In these situations, the user must translate his mesh from the external format into DTF format,
using CFD-Toolkit. See the topic on Running Simulations for more information.

Note CFD-FASTRAN-GUI does not perform any import/export translations to/from DTF format itself. It only deals
with DTF files. Import/export translations are done using the CFD-Toolkit utility, provided with the CFD-FASTRAN
software package distribution.

Set Up the Problem


Once a DTF file has been loaded, the user makes model and simulation specifications by working from left to right
through the Problem Setup Panel that occupies the right half of the CFD-FASTRAN-GUI user interface. In the
Problem Setup panel, users should see the Problem Type (PT tab), the Model Options (MO tab), the Volume Condi-
tions (VC tab), the Boundary Conditions (BC tab), the Initial Conditions (IC tab), the Solver Controls (SC tab), the
Output options (Output tab), and the Run tab. Within each tab, the user generally works from top to bottom to
provide the required inputs.

The contents of these tabs are read dynamically at run-time from an XML Schema (a collection of information and
logical relationships), i.e. these panels are not hard-coded into the software application. The reason for this
software design feature is to enable fast, easy modification of the contents of these tabs, usually in a matter of
minutes; thus, faster response to user requests.

Some settings, such as boundary conditions and volume conditions, and initial conditions, are associated with the
model itself, e.g. the surfaces and/or volumes. To assign BCs and VCs, users must select the entities of interest in
either the Viewer Window or the Entity List prior to configuring the boundary condition setting, then click Apply to
apply the setting.

Save DTF
After reaching the Run tab, the user may choose File > Save to save the model and simulation specifications. All
settings are saved to the DTF file.

38
Starting CFD-FASTRAN

Run CFD-FASTRAN-SOLVER
Optionally, on the Run tab, the user may simply press the "Submit Serial" button, which will first perform the Save
operation, then will start the flow solver process CFD-FASTRAN-SOLVER.

The preferred way to run simulations, however, is to first perform the File->Save operation manually, then run the
CFD-FASTRAN solver from the command line, as follows:

% CFD-FASTRAN-SOLVER -dtf model

The following alternative forms will not work:

% CFD-FASTRAN-SOLVER -dtf model.DTF


% CFD-FASTRAN-SOLVER model
% CFD-FASTRAN-SOLVER model.DTF

Typically you want to redirect the solver output to a file, e.g.:

% CFD-FASTRAN-SOLVER -dtf model > model.out

If you want to see the output on the screen, and at the same time, save a copy to a file, use the tee command:

% CFD-FASTRAN-SOLVER -dtf model | tee model.out

The tee command is available on Linux/Unix systems and with the Cygwin utilities under Windows. ESI Customer
Support recommends that you download and install the free Cygwin utilities for Windows if you are using that type
of system. This package provides a Unix shell and other Unix facilities under Windows; the DOS shell utility
provided by Windows is quite limited.

While the job is running, the output file and residuals can be monitored from the Run tab of CFD-FASTRAN-GUI.

Related topics
Running Simulations
Appendix B - DTF Utility

39
Chapter 6. GUI Description

Start Screen
The CFD-FASTRAN opening window allows you to create a New File, open an existing file (Open File), or import a
file (Import File). You can quickly retrieve a Recent File by clicking the file name of the appropriate file. If too many
files are listed, click Clear Recent Files to re-set the list of files. From this window you can also access information
about the version of CFD-VisCART you are running (About), open the help file (Help), and go to the ESI Group web
site (ESI).

User Interface Description


The CFD-FASTRAN-GUI consists of the following areas, which are described in the corresponding help sections. Pay
close attention to the Status Line as you use CFD-FASTRAN-GUI because it will catch potential problems and
provide other useful instructions along the way.

Area Description
Title Bar shows the application name and the full file path for the currently active model, and includes the

41
CFD-FASTRAN V2014.0 User Manual

common minimize, maximize, and close buttons.

Note An asterisk (*) after the filename indicates that the current model has been changed since it
was last saved.

Menu Bar provides commands for working with files and models.

Toolbar provides quick access to the menu commands.

Graphics Area holds a single or multiple Viewer Window(s)

Control Panel contains tabs that open corresponding panels for model and simulation specifications.

Entity Bar contains tabs for scaling, rotation and lighting (upper row). Also contains blanking options (lower
row). Hide and view these rows by clicking on the vertical buttons on the left of the Entity Bar.

Model provides an alternative to picking entities from the graphics area.


Explorer

Status Line shows informative messages about the active model and prompts you through multi-step
operations. The Status Line also shows 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.

42
GUI Description

CFD-FASTRAN-GUI Window Layout

Using the Mouse


You use the mouse in a conventional manner to access various GUI components such as the menus or toolbar. In
addition, the mouse has two other functions specifically in the Viewer Window(s): (1) manipulating the on-screen
image (viewing operations) and (2) selecting on-screen objects (picking operations). The following table describes
the mouse operations for the Viewer Window(s).

To do this... use these mouse actions.


Pick boundaries, volumes, other Point and click the left mouse button on the item.
entities

Pick consecutive boundaries, volumes, Hold down the SHIFT key and pick the first and last item.
other entities

Pick nonconsecutive boundaries, Hold down the CTRL key and pick the items.
volumes, other entities

Open the general Viewer Window Hover over any nonentity and click the right mouse button.

Blank or view an entity (toggle) Hover over the entity and click the right mouse button.

Rotate Hold down the left mouse button while dragging the mouse.
X-axis: Place the cursor in the center of the viewing area, and while
holding down the left mouse button, drag the mouse up or down.

43
CFD-FASTRAN V2014.0 User Manual

Y-axis: Place the cursor in the center of the viewing area, and while
holding down the left mouse button, drag the mouse left or right.
Z-axis: Place the cursor near the edge of the viewing area, and while
holding down the left mouse button, drag the mouse about the edge of
the viewing area.

Zoom in/out Hold down the middle mouse button while dragging the mouse. To
enlarge the model, drag the mouse toward yourself. To reduce the
model, drag the mouse away.

Translate Hold down the right mouse button while dragging the mouse.

44
Chapter 7. Toolbar
The toolbar contains icons which can be used as shortcuts to several of the same items accessible from the Menu
Bar. It also has icons to control the Solver, and determines the display mode of the Problem Setup Panel.

File Open, Save, Save As


Undo
Projection
Viewpoint
Shading
Solver Control
Launch CFD Software

Toolbar Layout

Toolbar buttons Description


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.

Undo The Undo icon is used to undo blanking and unblanking operations. It is
also available in the Edit Menu-Undo.

Projection The Projection icons control whether the Viewer window is drawing the
image with orthogonal (parallel) projection, or perspective projection.
These icons perform the same function as those listed under the View
menu.

Viewpoint The Viewpoint icons are used to orientate the viewpoint to one of the
six orthogonal views. These icons represent the same functions as
available under the View menu.

Shading The Shading icons control whether the model is shaded at all, has flat
shading, or has smooth shading. These icons represent the same
functions as available under the View menu.

Solver Control The Solver Control icons give you access to the same functions listed on
the RUN page of the Problem Setup Panel (see "Using the Run Panel” for
more details on these functions).

Launch CFD Software There are icons now provided to launch other software products from
the Toolbar specifically CFD-GEOM and CFD-VIEW. The location of these

45
CFD-FASTRAN V2014.0 User Manual

executables is set to $ESI_HOME/bin, where $ESI_HOME is the


environment variable set by the users during the installation process.
The user can change the executables used from the preference panel. If
a DTF file is selected in CFD-FASTRAN, CFD-VIEW will be launched with
the DTF file opened.
See the section under the Edit Menu for Preferences, regarding the
location of CFD-VIEW and CFD-GEOM executables that are launched
when you press the corresponding icons.

46
Chapter 8. Menu Bar

Menu Bar Overview


The Menu bar options are described in this section. Each menu lists a "family” of selections, and each selection
performs a specific action.

Menu Bar

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

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

The Menu bar includes the following options:

File Menu
Edit Menu
View Menu
Units Menu
Models Menu
Tools Menu
Window Menu
Help Menu

File Menu
Options within the File menu open existing simulations (models), close simulations, save simulations, and quit the
application. A list of most recently used files is provided for quick access to open a previously saved simulation.
Menu Command Description
Open loads Data Transfer Facility (DTF) files which have been previously created by a grid
generator such as CFD-GEOM. It also opens DTF files which have already been set up using
CFD-FASTRAN. DTF is a freely available library designed for the storage and manipulation of
CFD data sets. It is somewhat similar to CGNS in that respect.

Related Topics
File Management
Import opens geometries that have been created in one of the formats listed under the Source

47
CFD-FASTRAN V2014.0 User Manual

section.

Related Topics
About File Types
File Management
Close 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.

Close All closes all simulations loaded in CFD-FASTRAN.

Save saves the model and simulation specifications into the DTF file if the user has made changes.
In addition, a DAT file is written. The DAT file is a text-based solver input file containing
simulation-related input parameters. In total, the information required by the solver is
obtained from both the DTF and DAT files.

Save As works the same as Save except that it saves a new DTF file (and new DAT file). In addition,
Save As will not write any existing solution data (that is, restart data) into the new DTF file. It
is understood that Save As means the user wants to write a "clean" DTF file, not simply
change the name of the existing DTF file.

Note If you want to create a new DTF file without losing any restart information, then you
must first manually copy the files (original_model.DAT and original_model.DTF) to new
names (e.g. new_model.DAT and new_model.DTF respectively), and then open
new_model.DTF in the GUI and use the Save option to save the new changes.

Save Journal File As writes the current contents of the journal file to disk. For this command to work you must
have enabled Journaling under the Edit > Preferences > Script > Journaling.

Properties opens the Simulation Properties dialog box that contains two tabs: General and File. Each
tab shows details about the model and the file.

Recent Files List lists files that have been used recently.

Clear Recent Files clears the list of recent files.

Quit closes all simulations and terminates the application. If there are any simulations with
unsaved data, the Unsaved Changes dialog box opens asking if you want the simulation
saved before closing.

48
Menu Bar

Edit Menu

Edit Menu Overview


The Edit menu contains options for selecting (picking) and deselecting all entities, blanking operations, and access
to the Preferences dialog box. The Edit Menu contains the following options:

Menu Commands Description


Undo The Undo option allows you to undo blanking and unblanking operations (see below for
more information on blanking and unblanking).
CTRL + Z
Note The Undo option is also available from the Toolbar.

Select All Visible 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
CTRL + A
you are in volume condition mode, Select All will pick all of the volume conditions in the
model. Similarly, when in boundary condition mode, Select All will pick all of the boundary
conditions in the model.

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

Advanced Blanking The Blanking option on the Edit Menu opens a sub-menu that provides four options:
Blank Selected - The Blank Selected option can be used to blank 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
Entity List. The blank column in the Entity List will show an indication for blanked entities.
You can also blank an entity by right clicking on the entity in the Viewer Window or by right
clicking on the entities entry in the Entity List.
Blank Remaining - The "Blank Remaining” option can be used to blank everything that is
not currently picked. This allows you to pick the entities that you are interested in working
with and then use "Blank Remaining” to remove everything else from view.
Toggle - The Toggle option reverses the state of the blank flag for each entity. Upon
selecting Toggle, all unblanked entities will be blanked, and all blanked entities will be
made visible.
Unblank Selected - The Unblank option is a way to show a blanked entity. Since the entity
cannot be seen (or picked) from the Viewer Window, you must pick the entity from the
Entity List and then select Unblank to make the entity visible again.

Preferences opens a dialog box which allows you to set global preferences for CFD-FASTRAN. These
preferences will be remembered the next time you start CFD-FASTRAN. Preferences tabs
include General, Display, Colors, Tools, License, Script, and Logo.

Edit Menu Preferences Tabs


The Preferences tabs enable you to specify default values for a variety of areas. Click the Preferences tab of
interest and select your preferences. Each tab contains the following buttons that you can use to finalize your
actions:

49
CFD-FASTRAN V2014.0 User Manual

OK Click OK to make your changes and close the Preferences dialog box.
Cancel Click Cancel to undo the changes you just made and close the dialog box.
Apply Click Apply to accept the changes on the current tab and move to another tab.
Restore Defaults Click Restore Defaults to undo any changes you made (saved or unsaved) and return to
the system defaults.
Help Click to open the Help file.

The tabs include the following:

General
Display
Colors
Tools
License
Script
Logo

GENERAL TAB

Click the General tab to gain access to general preferences settings which include four groups:

Group Description
Recently Used Files Click Clear to clear the list or recently used files under the File menu.

Backups Choose from two levels of backup file protection:


Create 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.
Create Archive Files Before Launching Solver - 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.

Default Working Choose either Use Launch Directory or Specify default working directory. Use the Browse
Directory button to navigate to the directory you want to specify

Miscellaneous Select either or both options:


Show model property dialog after model is loaded - the Properties dialog box opens after
the model is loaded.
Open Residual Plot when Submit to Solver - opens a residual plot when the model is
submitted to the solver.

50
Menu Bar

General Preferences

DISPLAY TAB

Click the Display tab to gain access to the four groups of display preference settings.

Group Description
Surface (2D Volume or 3D This option enables you to choose to display the surface as a wireframe, flat-
Boundary) Initial Display after shaded surface, or smooth-shaded surface. Wireframe drawing is much faster
Loading and allows you to see through the model .

Volumes You may choose how you want to display unstructured volume conditions. If
you check the Draw Fringe 2D Unstructured Cell Groups option, the

51
CFD-FASTRAN V2014.0 User Manual

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.

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.

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

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.
OpenGL Hardware Acceleration
If you experience unsatisfactory performance with the viewer window, you may
want to disable this feature. This change will not take affect until the CFD-ACE-
GUI is restarted.

52
Menu Bar

Display Preferences

COLORS TAB

The Colors tab enables you to change the colors for background colors, general colors, model scale colors,
boundary condition colors, and initial condition colors.

To change any color, double-click on the color well located next to the item’s label to open the Color Dialog
window. This window contains multiple tabs for adjusting hue, saturation, and value; red, green, and blue; cyan,
magenta, and yellow; and changing a color by name. You change the color by adjusting the slider bars or typing in
the appropriate value for the color attribute.

53
CFD-FASTRAN V2014.0 User Manual

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. Click Accept to keep the color change; click Cancel to undo the
color change.

Color Preferences

54
Menu Bar

Color Dialog Panel

TOOLS TAB

Use the Tools tab to tell CFD-FASTRAN which applications to launch for certain operations. The options allow you
to pick a customized solver when using the user subroutine. If no path is given, then the system’s path will be
searched to find the application. You can browse the file structure by clicking Browse.

55
CFD-FASTRAN V2014.0 User Manual

Tool Preferences

Note Inside CFD-GEOM, users may set a Preference that the target solver is CFD-FASTRAN. This then allows the
user to specify CFD-FASTRAN boundary conditions in CFD-GEOM itself. The default BC/VC editor in CFD-GEOM
assumes that the target solver is CFD-ACE+, and thus will assign boundary conditions recognized by CFD-ACE+.

LICENSE TAB

Click the License tab to gain access to the License Control on Module Display settings. Select one of the three
options for displaying modules according to license status: Display Licensed Modules + Gray Out Unlicensed
Modules, Display All Modules, or Display Licensed Modules Only (checked by default).

56
Menu Bar

License Preferences

SCRIPT TAB

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

57
CFD-FASTRAN V2014.0 User Manual

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

LOGO TAB

Click the Logo tab to gain access to the Logo Preferences settings. There are various options for choosing whether
or not to show a logo, and which logo to display:

Show Logo - Check the box to display a logo. Uncheck the box so that no logo will be displayed.

Location on the Viewer - Make a selection from the drop down box as to the placement of the logo.

58
Menu Bar

ESI Logo - Select to display the ESI logo.

Custom Logo - Select to display a custom logo.

Image File - Use the Browse button to choose which image file to use.

Logo Preferences

View Menu
The View menu controls the appearance of the CFD-ACE+ layout and the model orientation and size within the
viewer window.

59
CFD-FASTRAN V2014.0 User Manual

View Menu

Viewpoint - The first section enables you to pick one of six viewpoints.

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

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

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

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

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

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

These options are also accessible from the Tool Bar (see "Viewpoint”).

Fit View - Fit the current model to the Viewer Window size by automatically zooming to fit.

Reset View - Reset the viewpoint back to Front view with the model fit to the Viewer Window size.

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

60
Menu Bar

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.

Origin - Controls whether the cartesian coordinates will be displayed

Scale - Controls whether the scale measurement of the model will be displayed.

Logo - Controls whether the logo will be displayed.

Units Menu
The Units menu controls the unit of measure used in the graphic display.

Units Menu

When you select User Defined units, the following dialog box opens for your input.

61
CFD-FASTRAN V2014.0 User Manual

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

Command Description
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.

Parametric Input In V2007, CFD-FASTRAN supports parametric runs through CFD-FASTRAN-GUI.


Parameters can be used for almost all value input through CFD-FASTRAN-GUI. This
eliminates the need to use SimManager to run some parametric analyses. However,

62
Menu Bar

SimManager should be used for parametric runs which use both geometric and solver
parameters or optimization studies.

Related Topics
Create a Parameter
Submit a Parametric Study
Expression Input
View DTF Content The View DTF Content options opens the DTF viewer where the current DTF file is
displayed in the tree list.

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

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

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

Dump Script The Dump Script option dumps the script.

View Model Properties

Tools Menu

Create a Parameter
To create a Parameter, open the Parametric/Expression dialogue in Tools > Parametric Input as shown in the
following figure. Click the Insert or Append button to create a new Parameter

63
CFD-FASTRAN V2014.0 User Manual

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.

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

64
Menu Bar

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

65
CFD-FASTRAN V2014.0 User Manual

Parameter Description

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

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

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

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

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

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

SQRT(a) Returns the square root of the argument

ABS(a) Returns the absolute value of the argument

EXP(a) Returns exponential of the argument

PI Returns the value 3.1415927

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

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

TIME or T Returns the current time (in seconds)

TSTP Returns the current timestep number

ITER Returns the current iteration

INT(a) Returns the integer remainder of the argument

X Returns the boundary face X coordinate (in meters)

Y Returns the boundary face Y coordinate (in meters)

Z Returns the boundary face Z coordinate (in meters)

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

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

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

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

66
Menu Bar

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

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

user_defined Returns value as coded in user subroutine.

To use expressions, click the Add button, give the expression a name, and specify how it should be evaluated.
Expressions can be used later during the evaluation of other expression. You can use these expression 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

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. Close Viewer will close the active viewer window.

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

The next section controls which parts of CFD-FASTRAN 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,
Explorer, and Tree List. These settings are saved to the registry and will be remembered the next time that the
program is started.

The final section 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.

67
CFD-FASTRAN V2014.0 User Manual

Window Menu

Help Menu
Options within the Help menu give you access to ESI Group’s corporate website as well as detailed information
about the version of CFD-FASTRAN which you are executing.

Use the "ESI Group on the Web” option to launch a web browser (that is specified in the Preferences -> Tools area,
or associated with web pages for Windows platforms) and automatically load ESI Group’s homepage.

Use the "About CFD-FASTRAN-GUI...” option to show a dialog box which contains version information about the
CFD-FASTRAN application, as well as version information about all libraries that the application is using. The About
CFD-FASTRAN box also gives information on which platform and what date the application was compiled.
Information about how to contact ESI Support is also available. The ESI Customer Support Staff will ask for version
information and the Help Menu is the place to find it.

Tip See the topic on Running Simulations for tips on troubleshooting problems and advice on how to get the
fastest response when working with ESI Customer Support.

Help Menu

68
Chapter 9. Graphics Area

Overview
The Graphics Area fills the largest portion of CFD-FASTRAN-GUI 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. You can view a single model in a single or multiple windows, and
you can view multiple windows.

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.

Boundary Conditions - Boundary conditions for structured grids are displayed as lines or curves in 2D, and as cross
hairs centered on the boundary patch, in 3D. Boundary conditions for unstructured grids are displayed as lines and
curves in 2D, and as the bounding elements of each surface in 3D.

Volume Conditions - Structured volume conditions are displayed as cross hairs in 2D, and as three-dimensional
cross hairs in 3D.

Working with the Viewer Window


The viewer window is a Multiple Document Interface (MDI) which means that the application can open more than
one model at a time—each loaded in its own viewer window. You can have more than one viewer window open at
a time by opening several different models, and you can also view an open file in several windows by selecting
New Viewer from the Windows menu. Multiple models can be edited simultaneously.

Although you can have several windows open at a time, only one viewer window can be active at a time. Make
any viewer window active by clicking on it. The active viewer window receives all picking commands. When a
viewer window is active, it appears on top of all other viewer windows; the title bar is highlighted; and the
filename displays on the main window’s title bar. If the file has been modified, then the filename includes an
asterisk beside it.

Arranging the windows


If too many windows are open, you can minimize some, or select Cascade, Tile Horizontally or Tile Vertically from
the Window menu. The Window submenus only affect the non-minimized windows.

Using the context menu


Right-click somewhere in the viewer window to open the context menu which includes options for the following:

New viewer window - select New Viewer. Alternatively, you can click Window > New Viewer.

69
CFD-FASTRAN V2014.0 User Manual

Viewpoint orientation – click any of the view icons, Fit to Window, or Reset View.

Blank and unblank entities – click Show All Domains or Hide All Domains to unblank or blank all of the entities
from the viewer window.

Details about current simulation – click Properties to open 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.)

70
Chapter 10. Control Panel

Working with the Entity List


The Entity List is the window located at the bottom of the CFD-FASTRAN graphical user interface. It provides
information about the current simulation entities and acts as a picking mechanism for selecting volume or
boundary conditions. Depending on the state of the Problem Setup panel, the Entity List contains information for
Volume Condition Mode (VC list), Boundary Condition Mode (BC list), or Initial Condition (Volume-by-Volume
Mode) (IC list).

All of the Lists behave in a similar manner, but the information displayed may be different. The next section is a
discussion of general Entity List operation and later sections will give details about the specifics of each List.

The List information is displayed in a row-column format such that every VC or 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 Lists
are shown in the following figure:

Common Elements of the Entity Lists

Changing the Order of Listed Entities - The order in which the rows are displayed (sort order) can be changed by
clicking on a column heading. The first click will sort the rows based on that column’s contents in descending order
and a second click will sort in ascending order. A triangle will appear in the sort column to indicate which column is
being used to sort the data, and the direction of the sort. The width of the columns may be changed by dragging
with the left mouse button the border between two column headings.

Picking One or More Entities - For any operation that requires you to select (pick) a volume condition, you may do
so by picking from the Viewer Window or the List. This added flexibility makes it easy to select the desired entities.
Picking in the List is done by clicking with the left mouse button on any row in the List. The selected entity will be
displayed in reverse video.

You can pick multiple entries two different ways. One way is after picking a single entity (from either the Entity List
or Viewer Window), to hold down the CTRL key and pick another entity. Both entities will be selected. This is called
discrete multiple picking. Another way is after picking a single entity (from either the Entity List or Viewer
Window), to hold down the SHIFT key and pick another row in the Entity List. All of the entities listed in the Entity
List between the first and second picked will be selected. This is called continuous multiple picking.

When multiple items are picked the Problem Setup Panel will display 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 Entity List) can be used to select
all of the entities or to clear the selection list respectively.

Grouping - Often it is desirable to group the properties or boundary values for multiple volume conditions or
boundary conditions. You create a "temporary” group any time multiple entities have been selected. Any changes

71
CFD-FASTRAN V2014.0 User Manual

saved from the Problem Setup 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” press the "Group” button located on the lower left side of the Entity
List. 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 Problem Setup 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.

To destroy a "permanent” group, select any entity in the group and press the "Ungroup” button. You may remove
a single entity from a group by right-mouse clicking on the item (from the Viewer Window or Entity 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 allows 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.

72
Chapter 11. Entity Bar

Entity Bar Overview


The Entity Bar contains four tabs and a blanking toolbar.

Entity Bar and Blanking Toolbar

Feature Description
Grid Use the Grid Scale tab to scale the geometry of the model by a constant factor. This tab displays the current scale
Scale factor and current minimum and maximum dimensions of the model.
Tab

Visual
Scale

Axis Use the Axis Rotation tab to rotate a model on its X, Y, or Z axis. Choose one of the following two methods to
Rotation rotate the image. Click Reset to return the model to its original orientation.
Tab
Place the pointer on the X, Y, or Z dial. Click and hold down the left mouse button while moving the dial left or
right.
- OR -
Enter the rotation degrees in the X, Y, or Z field. This rotates the model about the standard euler angles (roll, pitch,
yaw).

Lighting Use the Lighting Editor tab to adjust the lighting on the model.
Editor
Tab

73
CFD-FASTRAN V2014.0 User Manual

Entity Bar BC or VC Blanking


Use the BC or VC Blanking Bar to blank (hide) boundary or volume conditions. The blanking bar consists of two
sections that enable you to toggle boundary and volume condition blanking in the current simulation. The left-
hand section blanks boundaries, and the right-hand section blanks volume conditions. Each button contains a
ToolTip that identifies its function.

Entity Bar VC or BC Blanking Bar

Working with the Entity List


The Entity List is the window located at the bottom of the CFD-FASTRAN graphical user interface. It provides
information about the current simulation entities and acts as a picking mechanism for selecting volume or
boundary conditions. Depending on the state of the Problem Setup panel, the Entity List contains information for
Volume Condition Mode (VC list), Boundary Condition Mode (BC list), or Initial Condition (Volume-by-Volume
Mode) (IC list).

All of the Lists behave in a similar manner, but the information displayed may be different. The next section is a
discussion of general Entity List operation and later sections will give details about the specifics of each List.

The List information is displayed in a row-column format such that every VC or 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 Lists
are shown in the following figure:

Common Elements of the Entity Lists

Changing the Order of Listed Entities - The order in which the rows are displayed (sort order) can be changed by
clicking on a column heading. The first click will sort the rows based on that column’s contents in descending order
and a second click will sort in ascending order. A triangle will appear in the sort column to indicate which column is
being used to sort the data, and the direction of the sort. The width of the columns may be changed by dragging
with the left mouse button the border between two column headings.

Picking One or More Entities - For any operation that requires you to select (pick) a volume condition, you may do
so by picking from the Viewer Window or the List. This added flexibility makes it easy to select the desired entities.
Picking in the List is done by clicking with the left mouse button on any row in the List. The selected entity will be
displayed in reverse video.

You can pick multiple entries two different ways. One way is after picking a single entity (from either the Entity List
or Viewer Window), to hold down the CTRL key and pick another entity. Both entities will be selected. This is called
discrete multiple picking. Another way is after picking a single entity (from either the Entity List or Viewer
Window), to hold down the SHIFT key and pick another row in the Entity List. All of the entities listed in the Entity
List between the first and second picked will be selected. This is called continuous multiple picking.

74
Entity Bar

When multiple items are picked the Problem Setup Panel will display 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 Entity List) can be used to select
all of the entities or to clear the selection list respectively.

Grouping - Often it is desirable to group the properties or boundary values for multiple volume conditions or
boundary conditions. You create a "temporary” group any time multiple entities have been selected. Any changes
saved from the Problem Setup 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” press the "Group” button located on the lower left side of the Entity
List. 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 Problem Setup 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.

To destroy a "permanent” group, select any entity in the group and press the "Ungroup” button. You may remove
a single entity from a group by right-mouse clicking on the item (from the Viewer Window or Entity 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 allows 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.

75
Chapter 12. Model Explorer

Overview
The Model Explorer provides information about the current simulation. You can use it as a picking mechanism for
volume or boundary conditions. The Model Explorer displays in one of three modes, VC, BC, or IC, depending on
the Control Panel selection. All of the explorers behave in a similar manner, but the information displayed may be
different. 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.

Model Explorer

Changing the Display


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

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.

To remove 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.

77
CFD-FASTRAN V2014.0 User Manual

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.

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. You can pick objects in
the Model Explorer by clicking on any row in the list. The selected entity displays in reverse video.

You can pick multiple entries two different ways. You can, after picking a single entity (from either the Model
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. You can also, after picking a single entity (from either the Model Explorer
list or Viewer Window), hold down the SHIFT key and pick another row in the list. This action selects all of the
entities between the first and second pick. 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 Model Explorer) select all of the
entities or clear the selection list respectively.

VC Explorer
Anytime the Control Panel is in the Volume Condition setting mode, or when you pick a VC from the graphics
window, the VC Explorer becomes active. The figure below illustrates the various columns.

Volume Condition Explorer Elements

Column Name Description


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.

78
Model Explorer

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. The original type is that which was given to the volume condition during the
grid generation process.

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

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.

Grouping Though grouping may not all be available depending on which Modules are active, there are
several Grouping modes available for volume conditions: properties, flow, heat, scalar,
stress, coil, eplate, bio-chem, momentum resistance, and species.

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

BC Explorer
Anytime the Control Panel is in the Boundary Condition setting mode, or when you pick a BC from the graphics
window, the BC Explorer becomes active. The figure below illustrates the various columns.

Boundary Condition Explorer

Column Name Description


Boundary Name Lists the boundary name.

BC Type Lists the boundary condition type.

BC 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, and so forth.

Blanking The Blanking column displays the blank state of the entity. If the entity is unblanked or

79
CFD-FASTRAN V2014.0 User Manual

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

Grouping There are several Grouping modes available for boundary conditions: general, cyclic, thin
wall, and arbitrary interface.

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

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.

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

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.

80
Model Explorer

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

Boundary Condition Type


The Boundary Condition Type (BC Type) tells the solver the type of boundary condition to apply. There are eight
available choices: inlet, outlet, wall, rotating wall, symmetry, interface, thin wall, and 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.

IC Explorer
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.

Initial Condition Explorer

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

Grouping
There is one Grouping mode available for initial conditions: ICGroup.

81
CFD-FASTRAN V2014.0 User Manual

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

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.

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. The original type is what was
given to the volume condition during the grid generation process.

82
Chapter 13. Solver Background

Solver Simulation Methodology


Numerous approaches and schemes have been developed over the years to solve discretized numerical
formulations of the types of models one can develop with CFD-FASTRAN. From these schemes, a few well-known
and robust methodologies have been selected for use in CFD-FASTRAN.

Time-Marching Approach
Regardless of whether the physical problem is time-dependent or steady-state, the numerical solution is obtained
by the techniques for a time-dependent problem. An initial condition is always defined, and the solution is
marched in time for whatever duration the user specifies. If a steady-state solution is sought, then users monitor
residuals and watch them until they converge; convergence indicates that the steady-state has been reached. For
transient flows, the residuals are not meaningful, although they can still be helpful in showing when the flow has
reached a stationary transient behavior, which can happen if the user has not specified a physically realizable initial
condition.

Conservative Density-Based Formulation


CFD-FASTRAN solves the fluid dynamic governing equations in a strong conservation-law form, using a density-
based formulation. This is a very natural and effective approach for high-speed compressible flows, more efficient
and more accurate than alternative schemes using pressure-based or non-conservative formulations. This is
especially true if the flow contains shock waves, expansion waves, slip lines, and other discontinuities associated
with convective nonlinearities.

Incompressible fluids and flows are not modeled by CFD-FASTRAN. For gases, which are what CFD-FASTRAN
models, this is acceptable, because gases are compressible substances. The allowable time-step sizes used by CFD-
FASTRAN may be anywhere from 1 microsecond to 1 millisecond, depending on the numerical formulation
(explicit, implicit) chosen by the user. Regardless of the scheme, the acoustic wave propagations are modeled. In a
low-speed flow, it may take several seconds for the flow to reach a steady state or a stationary state. The lower
the speed, the longer it takes. Thus, as a flow approaches the no-speed limit, it takes more cycles to simulate it
using CFD-FASTRAN.

Finite Volume Discretization


The governing equations are discretized and numerically integrated based on a finite-volume approach. This
method divides the flow domain into discrete points from which control volumes are built. Structured or
unstructured grids can be used with this approach since each cell can be considered a control volume. Flow
information is stored at each cell center.

The advantage of finite-volume discretizations as compared to finite-difference discretizations, is that they are
internally conservative and the governing equations do not require any transformation prior to implementation.
Finite-difference codes typically transform the governing equations into body-fitted coordinate systems, leading to
extremely cumbersome equations.

83
CFD-FASTRAN V2014.0 User Manual

The advantage of finite-volume discretizations as compared to finite-element discretizations is that FEM


methodologies naturally produces matrix solution steps requiring high memory usage, whereas finite-volume
discretizations are more easily employed in matrix-free algorithms, with associated drastic reduction in memory
usage. Thus bigger problems can be handled. FEM codes have theoretical advantages, especially for viscous-
dominated flows, but typically in the aerospace industry the viscous effects are not significant to the pressure field,
and are anyway isolated to boundary-layer regions.

Upwind Approximations
In shock-capturing methodology, it is well known that numerical approximations are not physical unless
information is propagated in the same way, numerically, as it is physically. In supersonic flows, information only
propagates one direction. The flow from one cell to the next is determined by evaluating the fluxes across the
common face, using only information from the upwind direction.

CFD-FASTRAN has multiple upwind schemes in its formulation, since different schemes are preferred in various
situations. The current schemes include Roe’s flux difference splitting and Van Leer’s flux vector splitting schemes.
Typically, these schemes are spatially first order accurate. There are solution slope limiters in CFD-FASTRAN to
increase the spatial accuracy of the flux schemes to second or third order. The development of effective upwind
schemes continues to be an area of active research.

Flow Equations

Fluid Governing Equations


Standard references on fluid mechanics typically give the conservation equations for a fluid as a single component
and for static control volumes. However, this approach is inadequate for the governing equations of CFD-FASTRAN
which is capable of handling calorically perfect gases, mixtures of gases and/or moving bodies. Additionally, CFD-
FASTRAN is also able to solve either inviscid, viscous or turbulent flows.

LIMITATIONS AND ASSUMPTIONS FOR THE FLOW EQUATIONS

The limitations and assumptions for the flow equations are dependent on the class of problem that the user is
attempting to model. For most applied aerodynamics applications, one flow species is sufficient since mixing is
negligible (e.g. N2 and O2 in air) and chemical reactions are not present. Additionally, the flow field temperatures
for applied aerodynamic problems are typically not adequate to activate internal energy modes, such as molecular
vibration or ionization, in the flow species. These assumptions lead to a governing equation set for calorically
perfect gases.

For truly high speed flows, such as atmospheric entry/exit or rocket exhaust, tracking one flow species is
inadequate and requires that individual chemical components of the fluid be considered. This can be done by
either conserving mixture fractions or conserving the mass of each chemical species. Mixture fractions are
representative mixtures such as combustion products, mixture 1, entering an air flow stream, mixture 2. High
speed, low density flows also produce temperatures and time scales that may activate internal energy modes in
molecular species. This may require that additional energy equations be solved in the complete set of partial
differential equations. Most researchers currently employ either a thermal equilibrium assumption where only one

84
Solver Background

energy equation and one temperature are considered or two energy modes are tracked. Note, the governing
equation set for a calorically perfect gas is actually a sub-set of the governing equations for a mixing/reacting gas.

The final form of the governing equation set is also dependent on whether viscous and/or turbulent effects are
important. Many design calculations are more than adequate with an inviscid assumption. This eliminates the
diffusive fluxes from flow governing equations which are then referred to as Euler's equations. When viscous
effects are considered, the set of equations becomes the Navier-Stokes equations for laminar flows. The inclusion
of turbulence in the governing equations requires additional terms for momentum and energy equations and may
require additional partial differential equations if a higher level turbulence model is used.

The final and perhaps most theoretical limitation of the flow field equations is based on the continuum
assumption. The equations as derived in standard references and as presented here are based on the assumption
that the fluid is a continuous medium. This means that the individual particles, molecules and atoms are not
readily discernible from one another. For this to be true, the properties of the fluid, such as pressure and
temperature, must be describable by the statistical averages of the particles in the flow. To have a valid statistical
average, a large number of particles per volume must be present. For most applied aerodynamic applications, this
is not an issue. However, for the high speed reacting gas capability typically encountered at higher altitudes, the
user should consider if a valid statistical average is present.

The method to determine whether a continuum exists or not is based upon the Knudsen number, Kn. The Knudsen
number is a non-dimensional parameter defined to be the ratio of the mean free molecular path to a flow field
characteristic length, /L. A mean free path, l, is the average distance between successive collisions of one particle
with another which typically increases as altitude is increased or as density decreases. The flow field characteristic
length, L, depends on the flow being studied.

Some characteristic lengths that are used include nose radius, total body length, boundary layer thickness, and
shock stand-off distance. To determine whether the flow is considered a continuum is based on the size of the
Knudsen number. Typically, if Kn is less than 0.1 or 0.2, the flow is considered continuous for the Navier-Stokes
equations (Anderson, 1989). However, surface slip conditions on velocity and temperature may be required for
such large values of Kn. For Kn < 0.03 the flow is considered a continuum and the standard boundary conditions of
no-slip are applicable.

Flow Field Conservation Equations


Typical gas-dynamic equations for a fluid do not consider the motion of a control volume surrounding the fluid. To
obtain proper answers for a moving body solution, the motion of the grid must be taken into account. This can be
considered in a two part process. First, the standard conservation equations can be obtained for a non-moving
control volume. Secondly, a transformation is applied to account for fluxes created by the movement of volume
faces.

Flow Field Conservation Equations in a Non-Moving Frame


The standard conservation equations are given in this section with brief descriptions where necessary. The
conservation of mass is given by

1.1

85
CFD-FASTRAN V2014.0 User Manual

th
where ρ is the mixture density and uj is the mass averaged velocity in the j direction. This is the only mass
conservation equation required for a calorically perfect gas.

The conservation of momentum equations in summation notation are

1.2

where p is the pressure, k is the turbulent kinetic energy, δij is the Kronecker delta and τij is the shear stress tensor.
For inviscid flows, the terms on the right-hand side of the equation are not present. For laminar viscous flows or
algebraic turbulence models, the turbulent kinetic energy, k, is not present in the equation. This form of the
momentum equations is valid for both calorically perfect and multi-species/multi-mixture gases.

The conservation of total energy per volume is

1.3

where is Et is the total energy per volume, qj is the heat flux in the jth direction and the far right summation term is
the effect of heat transfer due to species molecular diffusion. The right-hand side of the equation is not present for
inviscid simulations. For calorically perfect gases, the species diffusive heat flux is not present.

The remaining governing equations are related to chemistry and multiple energy modes. These equations are
referred to as the thermo-chemical equations in the remainder of this manual. The conservation of mass for each
species or mixture fraction is

1.4

where ρs is the species or mixture density, Jsj is the mass diffusivity flux in the jth direction and ωs is the source
term associated with the reaction of species "s." The mass diffusivity is neglected for an inviscid flow. For
simulations where mixture fractions are tracked, the source term, ωs, is currently not available.

Also note, the conservation of mass equation is replaced by the conservation of species mass equations if mixing
or chemical reactions are requested. The mixture density for chemistry cases is obtained as .

The remaining conservation equation is for the molecular internal energy per volume. This equation is not used if
thermal equilibrium is assumed for the flow or if mixture fractions are used.

1.5

where Eint is the molecular internal energy per volume, eint, s is the molecular energy per mass for the species "s,"
th
qint, j is the heat flux of internal energy in the j direction, and ωint is the source term associated with the potential
difference between the internal energy and the equilibrium energy of the mixture. For inviscid flows, the
summation term representing the heat flux of internal energy due to diffusion and conduction is neglected. The
source term, qint, j is calculated for inviscid as well as viscous simulations.

The internal energy governing equation is based on the assumption that all molecular species can be represented
by one internal temperature. A more general approach would treat each molecular species separately. This results
in an internal energy equation and internal temperature for each species. While this would give a higher fidelity

86
Solver Background

simulation, the number of partial differential equations to be solved would increase rapidly and is currently
impractical for commercial, three-dimensional simulations.

Finally, the internal energy equation is either the conservation of vibrational energy or the conservation of the
combined vibrational-electronic energy of the molecule depending on the database (see Fluid Models) selected by
the user. This leads the user to obtain either a vibrational temperature, Tv, or an internal temperature, Tint.

Flow Field Conservation Equations for Moving/Deforming Volumes


The previous section outlined the governing equations for flows in which the control volume was stationary or
non-deforming. These equations are transformed for moving or deforming volumes by Leibnitz's Theorem
(Panton,1984).

For a general function, f, the relationship between the time rate of change of a function integrated over a volume,
the volume integration of a time derivative and the effect of moving volume surfaces is given by

1.6

where f is the function, V is volume, t is time, vg is the volume surface velocity, is the normal of the volume
surface and S is the surface area. Relating this theorem to the previous conservation equations, the conservation
of mass is used as an example. First, the partial differentiation equation is integrated over a volume

1.7

Applying the Divergence theorem and then Leibnitz's theorem gives

1.8

In a similar fashion, all conservation equations can be manipulated such that

1.9

where Q is the conserved variable vector, Fc is the convective (inviscid) flux, Fd is the diffusive (viscous) flux, vg is
the volume surface velocity and Ω are the source terms.

Although the turbulent governing equation could be discussed at this point, that discussion is deferred until the
Turbulence Modeling chapter.

87
CFD-FASTRAN V2014.0 User Manual

Fluid Physical Models

Fluid Physical Modeling


The governing equation as presented in the Flow Equations chapter are insufficient to solve a fluid dynamic
problem. These equations must be closed using a number of physical models for both thermodynamic and
transport properties, as well as, closure assumptions.

Thermodynamic Properties
For inviscid or viscous solutions, thermodynamic values need to be related to the conserved variables. This is
accomplished through equations of state for pressure and total energy per volume.

EQUATIONS OF STATE

The thermodynamic properties are defined by equations of state and gas properties. The thermal equation of state
for a calorically perfect gas is

2.1

o
where p is the static pressure, ρ is the gas density, Ru is the universal gas constant (8314.4 J/kmole K), T is the
static temperature and Mw is the molecular weight of the gas as specified by the user.

The thermal equation of state for a mixing or reacting gas is given by Dalton's Law of partial pressures such that

2.2

where p is the static pressure, ρs is the species or mixture density, Ru is the universal gas constant, T is the static
temperature and Mw,s is the molecular weight of the species (either as species or as components of a mixture
fraction). The molecular weights for the species are determined from one of two available databases which are
discussed in Thermo-Chemical Database Options.

The caloric equation of state relates total energy per volume to other gas dynamic variables and gas properties.
For a calorically perfect gas,

2.3

where Et is the total energy per volume, ρ is the gas density, cv is the heat capacity of the gas mixture at constant
volume, T is the static temperature and uj is the mass averaged velocity.

The form of the caloric equation of state for a mixing or reacting gas depends on the database selected by the
user. Using molecular properties, this gives

88
Solver Background

2.4

where ρs is the species density, cv,tr,s is the translational-rotational heat capacity for species s at constant volume,
is the heat of formation at reference temperature Tr and pressure for species s, Ev is the molecular vibrational
energy per volume, and the remaining term is the gas kinetic energy. Using polynomial curve fits for properties
gives two forms of the caloric equation of state.

For thermal equilibrium

2.5

For thermal non equilibrium

2.6

where hs is the sensible enthalpy per mass for species s and is defined as

2.7

GAS PROPERTIES

The gas properties for a calorically perfect gas are defined by the user. The only two values required are molecular
weight of the gas and a ratio of specific heats for the gas. Molecular weight is used in the thermal equation of
state. The combination of molecular weight and the ratio of specific heats is used to calculate the specific heat at
constant volume by

2.8

where γ is the ratio of specific heats. The heat capacity is calculated by

2.9

For a mixing or reacting flow, the user must select one of two database option (see Thermo-Chemical Database
Options). The selection of the molecular database defines the specific heat at constant volume, cv,tr,s, to be
determined based on

2.10

89
CFD-FASTRAN V2014.0 User Manual

where ε is the molecular degree of freedom and has possible values of 3, 5 or 6 for a monatomic species, a
diatomic or linear polyatomic species, and a non-linear polyatomic species, respectively. Additionally, the heat
capacity at constant pressure is then defined as

2.11

This definition is used with cv,tr,s to calculate a translational-rotational ratio of specific heats necessary in the
numerical schemes.

The selection of the curve fit database defines the specific heat at constant pressure to be

2.12

where a1 through a5 are curve fit coefficients taken from the database. The sensible enthalpy used in the caloric
equation of state is

2.13

And the entropy used for Gibbs free energy in the chemical equilibrium constant, Keq, is

2.14

Mixture values for the gas, such as cv, are calculated through a mass averaging process where

2.15

and

2.16

Internal energy per mass required for thermal non-equilibrium is defined as

2.17

where θvsm is the characteristic vibrational temperature for species s.

Note θvsm is currently only available in the molecular database.

90
Solver Background

Diffusive Closure Models


The general closure models are associated with the shear stress tensor in the momentum equations, the heat flux
vector in the total energy per volume equation and the species mass diffusivity. Note for inviscid flows, these
closure models are not required as part of the solution.

The shear stress tensor is assumed to be for a Newtonian fluid and that Stoke's hypothesis is valid for the gas
(Schlicthing, 1979). In summation notation, this is

2.18

where τij is the shear stress tensor, is the dynamic viscosity of the mixture, μt is the turbulent viscosity, ui is the
mass averaged velocity and δij is the Kroneker delta. The evaluation of dynamic viscosity is addressed in Transport
Properties and the turbulent viscosity is discussed in Wall Boundary Conditions.

The heat flux in the jth direction, qj, is defined by assuming that Fourier's Law of heat conduction holds for the gas
(White, 1991). This relationship gives

2.19

where κ is the thermal conductivity of the gas, κt is the turbulent thermal conductivity, T is the gas temperature.
Similar to the viscosity, the thermal conductivity is defined in Transport Properties and the turbulent thermal
conductivity is discussed in Wall Boundary Conditions.

For thermal non-equilibrium flows, Fourier's Law of heat conduction is also assumed to hold for both energy
modes. This gives

2.20

where κtr is the translational-rotational thermal conductivity and qint,j is the internal heat flux in the jth direction,
κint is the internal thermal conductivity and Tint is the internal temperature of the gas mixture.

The final closure model is for the mass diffusivity vector, Js. The mass diffusivity is assumed to be represented by
Fick's Law (Kuo, 1986) or a binary diffusion model (Anderson, 1989).

2.21

where ρ is the mixture density, Ds is the diffusion coefficient and Ys is the species or mixture mass fraction.

Transport Properties
Viscous flow solutions require that transport properties be determined. The methods to obtain these properties
differ between calorically perfect and mixing/multi-species gases.

91
CFD-FASTRAN V2014.0 User Manual

Calorically perfect gases require that both dynamic viscosity and thermal conductivity be calculated. Currently, two
viscosity options are available: (1) constant value and (2) Sutherland's law (not available in unstructured solver)
where

2.22

The thermal conductivity is determined by

2.23

where Pr and Prt are the Prandtl number and turbulent Prandtl number, respectively. Both Pr and Prt are specified
by the user. The heat capacity, Cp, is determined from equation 2.9 and is based on a user specified molecular
weight and ratio of specific heats.

Multi-species or mixture fractions simulations require additional information to obtain dynamic viscosity and
thermal conductivity. The mixture values for viscosity and conductivity must be calculated by examining the
species transport properties. The species viscosity (Bird, 1960) is based on

2.24

where Mw,s is the species molecular weight, T is the static temperature, σ is the characteristic molecular diameter
and Ωμ is the viscosity collision integral. The values for molecular weight come from the database selected. The
characteristic molecular diameter is based on Lennard-Jones potentials, ε/k (Svehla, 1960). Using the temperature
and Lennard-Jones potentials, a reduced temperature, T* = kT/ε , is determined. The reduced temperature is used
in combination with a look-up table to determine the collision integral (Hirschfelder, 1954). The viscosity for each
species is used in Wilke's semi-empirical (Wilke, 1950) method to calculate the mixture viscosity where

2.25

where the mole fraction xs is YsMw/Mw,s.

The thermal conductivity for a chemical mixture is determined in one of two ways. For thermal equilibrium,

2.26

where the mixture viscosity is based on Wilke's method, the heat capacity is determined from the mixture Cp
relationship given earlier and Pr is selected by the user. For thermal non-equilibrium, Eucken's assumption
(Vincent, 1965) is used to calculate the species conductivities such that

2.27

92
Solver Background

2.28

and

2.29

where ε is the rotational degree of freedom for a monatomic species, a diatomic or linear polyatomic species, and
a nonlinear polyatomic species, respectively. The vibrational heat capacity is

2.30

The mixture conductivity is determined by applying Wilke's method to the individual species conductivities where
µs is replaced by κs in equation 2.25.

The final issue is the evaluation of the diffusion coefficient, Ds. If Fick's Law (Kuo, 1986) is assumed to hold, then
the diffusion is defined as

2.31

where μ is the calculated mixture viscosity, ρ is the gas mixture density and Sc is the Schmidt number as specified
by the user. This assumption sets the diffusion coefficient equal for all species in the flow and insures that the
conservation of mass is maintained. The other mass diffusivity option is effective binary diffusion (Williams, 1985)
where

2.32

where Xi is the molar concentration of species s and Dij is the binary diffusion coefficient defined as

2.33

The diffusion collision integral, ΩDij is determined in a similar fashion to the viscous collision integral. Note, the
effective binary diffusion model does not ensure that the conservation of mass is maintained for the flow.

93
CFD-FASTRAN V2014.0 User Manual

Thermo-Chemical Source Terms


The thermo-chemical equations require that source term be calculated for chemical reactions and thermal non-
equilibrium. For reacting flows, a general finite rate reaction equation may be written as

2.34

where v′sr and v"sr are stoichiometric coefficients for the reaction and Ms represents an arbitrary molecule in the
reaction. The source term (Kuo, 1986) for species s is given by

2.35

where βs,r is the third body coefficient for a reaction, Cs is the species concentration, ρs/Mw,s, Kf,r is the forward
reaction rate for reaction r, Kb,r is the backward reaction rate for reaction r, and α'sr and α''sr are concentration
powers. For most applications, α'sr = v'sr and α''sr = v''sr which is true for Arrhenius reactions. For quasi-global
reactions, typically seen in hydrocarbon reactions, α'sr and α''sr may differ from the stoichiometric coefficients. The
forward reaction rate is

2.36

where Af,r, ηf,r, and Ea,r/T must be specified for the particular reaction set under investigation. The backward
reaction rate coefficient can be calculated in one of two ways. The most common is for the backward reaction rate
to be based on the forward reaction rate and the equilibrium constant for that reaction such that

2.37

The second form is for the backward reaction rate to be set as

2.38

where Ab,r, ηb,r, and Ea,b/T must be specified for the particular reaction under investigation. The user is currently
required to specify all coefficients required for their reaction set.

If thermal non-equilibrium is to be considered, an internal energy source term is required. This has the form

2.39

where eint,s is defined as

2.40

94
Solver Background

The first right hand side summation is a generalized form of the Landau-Teller model (Vincenti, 1965) and reflects
the size of the source term based on the difference between the temperature and internal temperature. The
second summation term is the effect of chemical species adding internal energy to the mixture due to dissociation
or recombination reactions. The term τvs is the averaged relaxation time based on Milikan-White vibrational
relaxation times. Note the internal energy source term is based solely on vibrational internal energy. This is
accurate for the molecular database discussed at the end of this chapter. However, for the curve fit database, this
source term neglects the effect in the electronic energy of the molecule.

Thermo-Chemical Database Options


The calorically perfect gas option does not require a species database. The thermodynamic properties for a
calorically perfect gas can be exactly determined by the user specifying a ratio of specific heats and a molecular
weight for the gas.

MOLECULAR DATABASE

Numerous techniques are available to determine properties for gas mixtures. Currently, two separate
thermodynamic databases are available to the user. The first database is based on molecular (or spectroscopic)
data for a chemical species. This database includes the species standard name (e.g. O2), its molecular weight, its
heat of formation at a standard temperature and pressure, the molecular degree of freedom for the translational-
rotational modes, the number of characteristic vibrational modes, the number of degeneracies per vibrational
mode and the characteristic wave number for each vibrational mode. The molecular database is given in Appendix
A and is given as ASCII text with the CFD-FASTRAN-GUI executable. The original source for the majority of the
species is McBride, 1963.

CURVE FIT DATABASE

The second database (McBride, 1993) relies on a fifth order polynomial curve fits for each chemical species. This
database contains the species standard name, the number of temperature ranges sub-dividing the polynomial fit,
the molecular weight of the species, the heat of formation at Tr of 298.15 K and 1 bar pressure, the valid
temperature range for each polynomial and the polynomial coefficients.

This database has the restriction that temperatures should range between 300 K and 6000 K. The curve fit
database is given as an ASCII text with the CFD-FASTRAN-GUI executable. To extend the possible temperature
range for the curve fits, approximations have been made when the gas temperature falls below the minimum
curve fit temperature or exceeds the maximum temperature for a curve fit.

For heat capacity, Cp, the value is frozen at the maximum or minimum temperature, Tm. This gives

2.41

The sensible enthalpy for each species is

2.42

For T > Tmax or T < Tmin of the curve fit,

95
CFD-FASTRAN V2014.0 User Manual

2.43

2.44

The first right hand term is evaluated from the polynomial curve fit.

Finally the species entropy is given by

2.45

For T > Tmax or T < Tmin, hold Cp,s constant such that

2.46

where Ss(Tm) and Cps(Tm) are evaluated based on the curve fits.

Turbulence Modeling

Turbulence Overview Modeling


In CFD-FASTRAN, a variety of turbulence models are available. In all these models, the effect of turbulence is
accounted for via turbulent or eddy viscosity. The basic underlying framework in modeling the turbulent viscosity
is presented in the next section. Subsequent sections describe the details of the turbulence models available in
CFD-FASTRAN.

The turbulence models in CFD-FASTRAN are based on Favre averaging the equations governing the flow, given in
Flow Equations. Favre averaging introduces additional terms known as Reynolds stresses. These stresses are
modeled using the Boussinesq eddy viscosity concept. The eddy viscosity is a property of the flow, not a physical
property of the fluid. Following the kinetic theory of gases, the eddy viscosity is generally modeled as the product
of a velocity scale q and a length scale l,

5.1

Various turbulence models differ in the way q and l are estimated. Eddy viscosity models are typically categorized
by the current number of additional transport equations to be solved. The models available are zero, one, and two
equation models. Zero equations use algebraic formulae to relate the velocity and length scales to local mean flow
conditions. These models do not explicitly consider the history of the turbulence and are best suited for simple
flows; two equation models solve transport equations for two quantities used to estimate q and l.

96
Solver Background

The two-equation models in CFD-FASTRAN can be further divided into high turbulent Reynolds number and low
turbulent Reynolds number models. Here the qualifier "high Reynolds number" refers to the turbulent Reynolds
number,

5.2

where k is the turbulent kinetic energy and ε is the dissipation rate of kinetic energy. High turbulent Reynolds
models are designed for turbulent regions where the eddy viscosity is much larger than the molecular viscosity.
However, viscous effects dominate the effects of turbulence in regions near solid boundaries, rendering the high
Reynolds models invalid there. Alternate models need to be employed in these regions. The common practice is to
employ wall functions in near-wall regions and a high Reynolds turbulence model in the rest of the flow field. The
wall functions are essentially an integral model connecting conditions at some distance from the wall with those at
the wall.

The flow near solid boundaries consists of a viscous sublayer where the flow is directly affected by conditions at
the wall and viscous effects are much larger than turbulent effects; a buffer region where the viscous and
turbulence effects are of the same order; and a fully turbulent region where the effects of turbulence dominate.
The thicknesses of the viscous and buffer layers and the velocity profiles within the near-wall region are important
+ +
parameters in the near-wall models. Defining a dimensionless distance y and velocity u :

5.3

5.4

The friction velocity uτ is defined as

5.5

where τw is the shear stress at the wall.


+
The viscous sublayer on a smooth wall extends from the wall up to a distance of approximately y = 5. The velocity
profile in the viscous sublayer is

5.6

+
The fully turbulent region within a boundary layer typically starts at a distance from the wall of about y = 30.
Classical turbulence theories predict the velocity distribution in the fully turbulent wall region to have the form

5.7

+ +
This region is, therefore, also known as the logarithmic layer. The layer between y = 5 and y = 30 is commonly
known as the buffer layer.

97
CFD-FASTRAN V2014.0 User Manual

In addition to algebraic and two-equation models, research has also been done on one-equation models.
Traditionally the one-equation models are focused on solving one partial differential equation for the turbulent
kinetic energy and using closure models to give a relationship for the characteristic length, l. These models give
results that are typically very similar to algebraic models. However, an alternative one-equation approach is to use
a partial differential equation to model eddy viscosity μτ or kinetic eddy viscosity ντ using appropriate closure
coefficients. For CFD-FASTRAN, the one equation model is based on the transport equations of eddy viscosity.

COMPRESSIBILITY CORRECTIONS

For subsonic flows, compressibility has been considered to have a relatively small effect on wall bounded turbulent
flows and is accounted through mean density variations. However, at high Mach numbers, compressibility
corrections are needed to get a better correlation with experiments. Specifically the effects of compressibility on
the dissipation rate of the turbulent kinetic energy are not accounted for in current models. These result in the
over-prediction of the spreading rate of shear layers, heat transfer rates and eddy viscosity. For compressible
flows, two extra terms, known as the dilatation dissipation and the pressure dilatation occur in the turbulence
kinetic energy equation. Users can turn ON/OFF compressibility corrections for each turbulence model, when
available.

Baldwin-Lomax Model
This model is an algebraic turbulence model because the velocity and length scales are obtained from algebraic
relations. It is also commonly referred to as a mixing-length model because it employs Prandtl’s mixing-length
hypothesis in modeling length and velocity scales.

Baldwin and Lomax (1978) developed this model primarily for wall-bounded flows. It employs different expressions
for µt in the inner and outer parts of the boundary layer,

5.8

where y is the normal distance from the wall and yc is the crossover point between the inner and outer layers
where the values for the eddy viscosity using the expressions below are equal.

The eddy viscosity in the inner layer is obtained as

5.9

where Prandtl’s mixing-length model and the Van Driest damping function are used to estimate the length scale,

5.10

and the velocity scale is modeled as the product of l and the vorticity magnitude, ,

5.11

+
k and A are constants with values of 0.4 and 26, respectively.

98
Solver Background

The outer layer eddy viscosity is given by

5.12

where K is a constant,

5.13

and

5.14

The quantity qmax is the maximum value of the turbulent velocity scale (given by equation 5-11) that occurs within
the boundary layer and ymax is the value of y at which the maximum occurs. The quantity Udif is the difference
between the maximum and minimum values of the velocity magnitude in the boundary layer,

5.15

Normally, the minimum value is zero at the wall. However, for moving bodies, the minimum may not be zero.

The values used for the constants appearing in the outer layer eddy viscosity are

Standard k-ε Model


The k-ε model is a two equation model that employs partial differential equations to govern the transport of the
turbulent kinetic energy, k, and its dissipation rate, ε. Several versions of the k-ε model are in use today. The
standard k-ε model employed in CFD-FASTRAN is based on Launder and Spalding (1974).

The square root of k is taken to be the velocity scale, while the length scale is modeled as

5.16

The expression for eddy viscosity is

5.17

99
CFD-FASTRAN V2014.0 User Manual

The modeled equations for k and e are

5.18

5.19

with the production P defined as

5.20

The five constants used in the model are as follow:

The standard k-ε model is a high Reynolds model and is not intended to be used in the near-wall regions where
viscous effects dominate the effects of turbulence. Wall functions are used in cells adjacent to walls. The k and ε
transport equations are not numerically integrated in these cells. Instead, semi-empirical expressions are used to
relate k, ε, and the friction velocity uτ. These expressions are obtained from analysis of the momentum and
turbulence equations for a flat plate boundary layer, assuming a logarithmic velocity profile.

5.21

5.22

In the standard wall function approach employed by CFD-FASTRAN, the wall shear stress is obtained by assuming
the velocity profile between the wall and the first grid point away from the wall obeys the following "law of the
wall”:

5.23

100
Solver Background

5.24

The wall shear stress is calculated iteratively from the known values of y and u in the first cell. The constants
appearing in equation 5.24 are experimentally determined to be E = 9.0 and k = 0.41. Because the semi-empirical
relations for k and ε in the first cell assume a logarithmic velocity profile, the turbulence wall functions are strictly
+
valid only if the center of the cell nearest the wall is inside the logarithmic boundary layer ( y > 30 ).

The wall shear stress evaluated using equation 5.23 and equation 5.24 is used to calculate the boundary condition
for the velocity components parallel to the wall. Similarly, the turbulent heat flux at the wall is obtained by
assuming a profile for temperature in the near-wall region. The velocity and temperature profiles are assumed to
be similar when plotted in wall coordinates (Reynolds analogy). The dimensionless temperature is defined as

5.25

where T and Tw are the temperatures in the first cell and the wall, respectively; Cp is the fluid heat capacity; and qw
is the turbulent heat flux at the wall.
+
T at the first grid-point is obtained from a thermal law of the wall,

5.26

5.27

where Prt is the turbulent Prandtl number and A (Pr) = 13Pr 23-7 which is valid for Pr >0.7. The intersection of
equation 5-26 and equation 5-27 occurs at .

Following the Sarkar model [5,6] for pressure dilatation, the following term is added to the k-equation.

Where, α2 = 0.15, α 3 = 0.2, , and c is the local speed of sound.

k-ω Model
The k-ω model is a two equation model that solves for the transport of ω, the specific dissipation rate of the
turbulent kinetic energy, instead of ε. The k-ω model in CFD-FASTRAN is based on Wilcox (1991) which is recast
with ω=ε/

. The eddy viscosity in this model is

101
CFD-FASTRAN V2014.0 User Manual

5.28

The transport equations for k and w are

5.29

5.30

The model parameters in the above equations are all assigned constant values.

The boundary conditions for k and w at wall boundaries are

5.31

5.32

where y1 is the normal distance to the wall of the center of the cell next to the wall. The location of the cell center
should be well within the laminar sublayer for best results . This model, therefore, requires very fine grids
near solid boundaries.

For the k-ω and SST models, the extra term for compressibility corrections also occur in the specific dissipation rate
equation. Following Sarkar [5,6], the ratio of dilatation dissipation to the solenoidal dissipation, ωd/ωs, as a
function of the turbulence Mach number (MT) is defined as:

where, .

Spalart-Allmaras Model
Spalart-Allmaras Model is a based on the transport of eddy viscosity. The model includes numerous closure
coefficients and damping functions. The eddy viscosity for this model is

5.33

102
Solver Background

The eddy viscosity transport equation is

5.34

5.35

Closure Coefficients
5.36

Auxiliary Relations

5.37

5.38

5.39

The tensor Ωij=1/2(∂Ui/∂xi - ∂Uj/xi) is the rotation tensor and d is distance from the closest surface. Although not
listed here or used in CFD-FASTRAN, the model may include a transition correction that introduces four additional
closure coefficients and two more empirical functions.

Note d is the distance from the point in the flow to the nearest wall. For steady-state flows the d values only need
to be determined once. For unsteady flows with moving bodies, d must be recalculated as the wall surfaces move.

Menter Shear-Stress Transport (SST) Model


The Menter SST model, (Menter,1993) is a two equation model that solves for the transport of ω, the specific
dissipation rate of turbulent kinetic energy, and the turbulent kinetic energy κ. This model is a combination of the
κ-ε and κ-ω models.

The transport equations for κ and ε are:

5.40

103
CFD-FASTRAN V2014.0 User Manual

5.41

The constants,(σk, σw,β, γ)are determined from the relationship

5.42

The φ1 constants are:

5.43

The φ2 constants are:

5.44

where Cμ = 0.09 and κ = 0.41 in both sets of constants.

The remaining closure coefficients are:

5.45

5.46

and d is the geometric distance from a cell center to the nearest wall. Finally, the turbulent viscosity, μt is defined
as:

5.47

104
Solver Background

2
where F2 = tan h{[max (2Γ3Γ1)] }. The absolute value of vorticity is Ω. The compressibility correction of Secundov [7]
as suggested by Spalart adds the following destruction term to the right-hand side of the Spallart-Allmaras model
equation:

Detached Eddy Simulation (DES) Turbulence Model


Detached-Eddy Simulation (DES) is a hybrid technique for predicting transient turbulent flows at high Reynolds
numbers. Development of this technique was motivated by estimates which indicate that the computational costs
of applying Large-Eddy Simulation (LES) to complete configurations such as aircrafts, submarines and road vehicles
are prohibitively high. The high cost of LES when applied to complete configurations at high Reynolds numbers
arises because of the grid resolution required in the boundary layers. Reynolds-Averaged Navier-Stokes (RANS)
turbulence models can reduce this cost considerably. However in RANS turbulence models, the amount of
damping is significant and the smallest scales of motion are damped out regardless of grid density and as a result
are not capable of accurately describing massively separated transient turbulent flows.

In Detached-Eddy Simulation (DES), the aim is to combine the most favorable aspects of the two techniques, (i.e.,
application of RANS models for predicting the attached boundary layers and LES for resolution of time-dependent,
three-dimensional large eddies). The total computational cost is scaled down because LES is not applied to resolve
the relatively smaller-structures that populate the boundary layer.

FORMULATION

The base model employed in the majority of DES applications is the Spalart-Allmaras one-equation model (Spalart
and Allmaras 1994, referred to as S-A throughout). The DES formulation implemented in CFD-FASTRAN is based on
a modification to the S-A model such that it reduces to RANS close to solid surfaces and to LES away from the wall
(Spalart et al. 1997).

The S-A model contains a destruction term for its eddy viscosity which is proportional to , where 'd' is the
distance to the wall. When balanced with the production term, this term adjusts the eddy viscosity to scale with
the local deformation rate S and d: . Subgrid-scale (SGS) eddy viscosities scale with S and the grid spacing
, i.e., . A subgrid-scale model within the S-A formulation can then be obtained by replacing d with a
length scale directly proportional to the grid spacing.

To obtain the model used in the DES formulation, the length scale of the S-A destruction term is modified to be the
minimum of the distance to the closest wall and a length scale proportional to the local grid spacing, i.e.,
. Here, is the largest distance between the cell center under consideration and the cell center
of the nearest neighbors (i.e., those cells sharing a face with the cell in question). In "natural" applications of DES,
the wall-parallel grid spacings (e.g., streamwise and spanwise) are on the order of the boundary layer thickness
and relatively larger than the wall-normal spacing. Choosing the length-scale for DES based on the largest local
grid spacing (i.e., one of the wall-parallel directions) ensures that RANS treatment is retained within the boundary
layer, (i.e., near solid walls, d and the model acts as S-A), while away from the walls where in the
LES region yields a Smagorinsky eddy viscosity . Analogous to classical LES, the role of is to allow the
energy cascade down to the grid size; roughly, it makes the pseudo-Kolmogorov length scale, based on the eddy

105
CFD-FASTRAN V2014.0 User Manual

viscosity, proportional to the grid spacing. The additional model constant is set for homogeneous
turbulence.

Compressibility corrections of the S-A turbulence model is available for the DES and DDES turbulence models.

USAGE

Activation of this model is under MO → Flow tab as shown in the following figure. Typical value of the DES
constant is 0.65, but users can change this value to suit a particular problem.

Activation of DES model

BOUNDARY CONDITIONS

In addition to the usual boundary conditions used in other turbulence models, DES also accepts random inlet
boundary conditions for velocities as shown in the previous section. Two types of random inlets are supported:
Gaussian random and time-correlated Gaussian random. Random inlet boundary conditions can be specified for
DES model as shown in the following figure.

106
Solver Background

Random inlet boundary conditions specification

LIMITATIONS

Like LES model, physically DES is only applicable for transient flow problems. One can carry out steady simulations
with DES, but the results do not serve as physically meaningful.

At present, DES model is only available for the structured grid solver in FASTRAN.

All current limitations applicable to S-A turbulence model applies for DES also. Before running parallel simulations,
the wall distance should be calculated in serial. This can be done through the following command:

$ CFD-FASTRAN-SOLVER -walldist -dtf <dtf_file_name> -serial

107
CFD-FASTRAN V2014.0 User Manual

Once wall distance calculations are complete, the simulation can be run in parallel as usual.

If the walls move, wall distances must be re-calculated at each time step. Therefore, currently, it is not suited to
run DES with moving body simulations.

References
Menter, F.R. "Zonal Two Equation k-w Turbulence Models for Aerodynamic Flows”. AIAA 24th Fluid Dynamics
conference,6-9 July 1993: 93-2906.

Spalart, P.R., Allmaras, S.R.: A one-equation turbulence model for aerodynamic flows, La Recherche Aerospatiale, 1
pp. 5-21, (1994).

Spalart P.R., Jou W.H., Strelets M., Allmaras S.R.: Comments on the feasibility of LES for wings, and on a hybrid
RANS/LES approach, 1st AFOSR Int. Conf. on DNS/LES, Aug. 4-8, 1997, Ruston, LA. In: Advances in
DNS/LES, C. Liu and Z. Liu Eds., Greyden Press, Columbus, OH, USA (1997).

Numerical Methods

Numerical Methods
The partial differential equations given by the governing equations with their closure models have no known
general analytical solution. This requires that numerical techniques be employed to solve for the unknowns. This
chapter describes the approach used by CFD-FASTRAN to discretize the equations both spatially and temporally to
obtain a solution for a given geometric configuration.

The approach taken is referred to as a finite volume scheme. This methodology sub-divides a domain into small
cells of finite volume and stores needed variables at the cell center for each volume. To decrease the amount of
computational time required for a solution implicit techniques are available.

Finite Volume and Temporal Discretization


The governing equations developed in the Fluid Governing Equations chapter with the appropriate closure models
developed in the Fluid Physical Modeling chapter can be expressed in vector notation such that

6.1

where

108
Solver Background

where C represents convection and D represents diffusion.

The convective flux, Fc, is taken as

The diffusive flux, Fd, is

109
CFD-FASTRAN V2014.0 User Manual

GC, GD, HC, and HD can be written in a similar fashion. Note for calorically perfect gas, only one "species” is tracked
such that ns = 1 , ρs = ρ, Us = 0, and the internal energy terms, Eint and Tint, are no longer required.

6.2

The Source term vector is identically zero for a calorically perfect gas.

To discretize the flow field governing equations for a moving volume:

6.3

Applying the Divergence theorem gives

6.4

For a grid (mesh) that is comprised of discrete volumes and areas, the equation above is transformed to:

110
Solver Background

6.5

Note (n+1) represents the next time level which means that the above discretized equation is valid for implicit
schemes. Also allow

6.6

where

cm = connective-moving

= the cell face normal

= the cell face area

= the cell volume

The flux and source vector must be linearized to estimate the fluxes and sources at n+1.

This gives (temporarily dropping some subscripts for brevity):

6.7

and

6.8

6.9

The ∂Ff / ∂Q and ∂S/∂Q are the flux Jacobian and source Jacobian, respectively.

Rearranging terms gives:

111
CFD-FASTRAN V2014.0 User Manual

6.10

n
For explicit schemes, the second and third terms of the left-hand side are not required. For non-moving grids δV =
n+1 n n+1 n
0, ΔV = V , and ΔA = ΔA .

Spatial Numerical Method


The flux vector and flux Jacobians must be evaluated. CFD-FASTRAN is based on the idea of upwind schemes for
the convective (convective-moving) fluxes. In particular, two different flux schemes are selected. The first scheme
is based on Roe’s approximate Riemann solver (Hirsch, 1990) and is considered a flux difference scheme. The
second approach is based on Van Leer’s scheme (Hirsch, 1990)and is considered to be a flux vector splitting
algorithm. Note only Roe’s scheme is currently available for chemically mixing/reacting flowfields.

Both Roe’s and Van Leer’s schemes are first order spatially accurate. However this limitation may be overcome
with the use of limiters. The following sections discuss the Roe and Van Leer schemes, after which the use of
limiters is addressed.

The "convective-moving” flux for Roe’s scheme is given by

6.11

where

* = the numerical flux

L = left states

R = right states

= the Roe-average flux Jacobian

The linearized numerical flux is

6.12

112
Solver Background

The second and third right hand terms replace in the discretized governing equations. The Roe averaged
variables are taken to be

for structured and unstructured grids, respectively. Let

Other variables may be Roe-averaged such as , etc.

The flux Jacobian can be evaluated by

6.13

where q is the vector of primitive variables

This is a non-unique selection. The primitive Jacobian ∂F/∂q is lengthy but straight forward to determine and is
omitted for brevity.

The "convective-moving” flux for Van Leer’s scheme is split such that

Defining the face normal Mach number as where is velocity normal to the force. For
If then Finally, then,

6.14

where

113
CFD-FASTRAN V2014.0 User Manual

Linearization for the flux vector is

6.15

The remaining step is the evaluation of QL and QR. The left and right states refer to the extrapolation of variables to
the left and right sides of a cell face. The selected approach is to extrapolate the primitive variables and construct
the left and right conserved variables.

Three limiters are considered: Minmod(l,r), monotonic VanLeer and Osher-Chakravarthy (Hirsch 1990). Note that
the minmod(l,r) and monotonic Van Leer limiters are symmetric. Minmod and Van Leer limiters allow up to second
order accuracy and are discussed together. The Osher-Chakravarthy limiter is up to third order spatially accurate
and is discussed separately.

For the minmod and Van Leer limiters, allow "q" to represent any primitive variable and ξ to represent the physical
distance from a cell center to a cell face center. The local gradient of a variable is taken as

6.16

The ratio of gradients is

6.17

For uniform spacing as an example:

The value at the face is taken as

6.18

where Ψ is the slope limiter. The minmod(1,r) limiter is

114
Solver Background

6.19

The Van Leer monotonic limiter is

6.20

Finally, the Osher Chakravarthy limiter is presented. The limiter is

6.21

where

The value of κ determines the accuracy. For κ = 1/3, the Osher Chakravarthy limiter is third order spatially
accurate. The diffusive flux, FD', must also be determined for viscous problems.

From the formula of viscous flux, one can observe that the viscous flux is not only a function of the conservative
variables but also the function of velocity and temperature gradients. Since the viscous flux is discretized using
central differencing, the flow variable Q vector and transport properties (k, m, Ds) at a cell surface can be
calculated using simple weighted averages between the cell center values to the left and right of the face.

The calculation of temperature and velocity gradients are carried out using the definition

6.22

where f represents any continuous scalar value functions such as q = (u,v,w,T). The calculation of velocity and
temperature gradients on a structured and unstructured grid is described separately.

To calculate the Δq at surface i + 1/2 in the i-direction, the control volume selected is made by bold lines as shown
in the following figure.

115
CFD-FASTRAN V2014.0 User Manual

Control Volume Used to Calculate Gradients at Interface i + 1/2

Applying equation 6.22 to the control volume, we obtain

6.23

where m represent W, E, S, N, L, and H faces of the new volume. The value of fm is calculated by averaging
surrounding cell center flow variables. For example,

6.24

6.25

6.26

6.27

6.28

6.29

The area vectors in are calculated by averaging two neighboring area vectors. For example,

6.30

6.31

6.32

6.33

116
Solver Background

6.34

6.35

After the flow variables, transport properties and velocity, temperature gradients at the interface are calculated,
the viscous flux are obtained by simple substitution.

For the implicit flux , linearization is required where

6.36

where and Q,p is the gradient (or derivative) of Q perpendicular to the cell
face. Using cell and neighbor notation for cells adjacent to the current face f:

6.37

To simplify the derivatives in the viscous flux Jacobians, the chain rule may be applied using primitive variables

6.38

To simplify the derivatives in the viscous flux Jacobians, the chain rule may be applied using primitive variables:

where

Flowfield Solution Procedure


The solution for the discretized equation is achieved by a time marching algorithm. For steady flows, the time
marching scheme is repeated until residuals or the change is the solution variables fall below a tolerance level or
reach machine zero. The time marching scheme produces a time-accurate answer for a transient or unsteady
simulation.

Currently, one explicit and two implicit time marching schemes are available.

117
CFD-FASTRAN V2014.0 User Manual

The time step of an explicit scheme is limited by the CFL conditions. However, it has been found that explicit
schemes are less dissipative for time accurate problems than the implicit counterparts. For steady-state problems,
the convergence is further sped up by a local time-stepping procedure, which a constant CFL-number is used in all
the control volumes. This has been found to be very effective for a variety of steady flow problems.

MULTI-STAGE RUNGE- KUTTA SCHEME

After spatial discretization, the explicit equation to be integrated in time can be written as follows

6.39

where

6.40

A m-stage Runge-Kutta type scheme is given by

6.41

where the weighting coefficients αi are αi = 1/m-i+1 and Δt is the time step.

The multistage Runge-Kutta scheme is first order time accurate for m = 1 and second order time accurate for m >
2.

Note If this scheme is used in a steady mode, local time stepping is used and time accuracy is lost.

BLOCK DIAGONAL IMPLICIT SCHEME

The implicit schemes are a block diagonal iterative method (point implicit in the GUI) and a Jacobi-point iterative
(fully implicit in the GUI) method. The block diagonal approach is essentially a subset of the Jacobi point iterative
procedure. The discretized equation is

6.42

118
Solver Background

6.43

where

Note All off-diagonal terms have been neglected which leaves only the main block-diagonal. This scheme is not
time accurate.

JACOBI ITERATIVE IMPLICIT SCHEME

The remaining implicit scheme is the Jacobi-point iterative method. Only nearest neighbors N to the cell i are taken
into consideration. Re-arranging the discretized equation gives

6.44

where m is the previous iterative solution. This equation is solved repeatedly until
where ε is a user-specified tolerance. The summation on the right-hand side is the off-diagonal blocks. This scheme
is first order time accurate when running unsteady. While running in a steady mode, local time stepping is used
and the iterative scheme is not time accurate.

Chimera Method

Chimera Method
The Chimera methodology has been implemented in CFD-FASTRAN for two purposes:

1. To allow moving body calculations and


2. To reduce the requirements/efforts of the user in placing a grid around a complex configuration. This
chapter provides theoretical background on the Chimera algorithm.

OVERVIEW
The basic steps involved in a flow solver employing a Chimera scheme for an overset grid, as shown in figure 7-1,
are outlined in figure 7-2 through figure 7-4 and summarized as.

119
CFD-FASTRAN V2014.0 User Manual

1. Build an Alternating Digital Tree (ADT) for each zone that is involved in the Chimera scheme.
2. Blank holes in each zone, if necessary. This is determined by whether a zone overlaps with wall
boundaries or cutting planes in other zones.
3. Identify the Chimera boundary cells in each zone. A Chimera boundary cell may either be an active cell
adjacent to a hole or the outer boundary of a zone.
Steps 1-3 comprise the Build module of the Chimera scheme, as shown in figure 7-2.
4. For each Chimera boundary cell in a zone, search in other zones to find a donor cell. If a donor cell could
not be found, mark the Chimera boundary cell as an orphan.
5. Interpolate solution from the donor to the respective Chimera boundary cell. If the latter was an orphan,
interpolate a solution from its neighboring cells in the same zone.
6. Steps 4-5 constitute the Search & Interpolation module of the Chimera scheme, as shown in figure 7-3.
7. Use these two modules to perform either steady-state flows or unsteady-state problems involving moving
grids, as shown in figure 7-4.

Figure 7-1. Example of a Multi-domain Problem with Overset Grids

120
Solver Background

Figure 7-2. Flow Chart Outlining the Steps in the Build Module of
Chimera Scheme

121
CFD-FASTRAN V2014.0 User Manual

Figure 7-3. Search and Interpolation Module

122
Solver Background

Figure 7-4. Flowchart of Flow Solver and Chimera Coupling for Steady-State or Moving Body

Alternating Digital Tree


The AD tree is the corner stone of the Chimera scheme in CFD-FASTRAN. The hole cutting algorithm and
interpolation algorithm explained below in "Hole-Cutting Algorithm”, involve frequent searches over the cells in
different zones. These searches are highly optimized using the AD tree. The basic purpose of the AD tree is to
disseminate the cells of a grid in a tree structure, based on certain data such as the coordinates of cell centroid,
coordinates of bounding box etc.

During a search process, when an algorithm has to scan the grid for cells that match a given data, traversing down
the tree enables the algorithm to get to the destination cells very efficiently. ADT is much like an octree except that
it is deemed more suitable if the data based on which the tree has to be built is n-dimensional (n>3). The ADT in

123
CFD-FASTRAN V2014.0 User Manual

CFD-FASTRAN is built for each zone using the coordinates of the bounding box for a cell which is a point in 6D
space. The original article (Bonet, 1991) presents the algorithmic details and data structures required to build an
ADT.

Hole-Cutting Algorithm
The hole-cutting algorithm involves

1. Blanking cells in each zone that overlap with a wall boundary (or blockage) from another zone overset and
2. Identifying the Chimera-boundary cells adjacent to the holes.

The following terminology is used when referring to the zones of an overset grid. A major-zone is the zone in which
cells are blanked and minor-zone is the one which contains the wall boundary or the blockage with respect to
which the cells are blanked in the major-zone. Consider the illustration in figure 7-5, which shows a Cartesian grid
of a major-zone and minor-zone which contains a solid wall boundary. The following steps are involved in the hole-
cutting algorithm:

1. In order to blank cells in the major-zone, the algorithm has to first identify the cut-cells. Cut-cells are cells
in the major-zone that intersect wall boundary faces of the minor-zone. This procedure first requires data
structures to be constructed for the major-zone. This comprises building link-lists for cell-edge and cell-
node connectivities. These data structures are memory intensive and are hence destroyed after the hole-
cutting procedure is completed for the respective major-zone. The number of cut-cells in a zone, the
algorithm traverses down the ADT of the major-zone and identifies the cells whose bounding boxes
overlap with that of the wall boundary face. This short list of candidate cells is then scanned in order to
identify the cut-cells.

Referring to figure 7-6, the bounding box of the face ABC overlaps with that of the cell 1-2-3-4-5-6-7-8, if
their respective coordinates are represented in 6D space by the points.

These satisfy the following inequality:

124
Solver Background

Figure 7-5. Illustrative Case for Hole-cutting Algorithm.The grid in solid lines represents the major-zone
which overlaps with the solid wall boundary of the minor-zone, represented by the grid in dashed lines.

Figure 7-6. Overlapping Bounding Boxes of a Face and Cell.

2. To determine if a cell is a cut-cell, the algorithm detects if one or more edges in that cell intersect a face
on the wall boundary of the minor-zone. Consider the triangle ABC (minor-zone) with face normal and
an edge (major-zone), as shown in figure 7-7. The edge is first inspected to determine if it intersects
the plane P that ABC belongs

125
CFD-FASTRAN V2014.0 User Manual

7.1

3. The edge does not intersect the plane if:

7.2

4. If the inequality of equation 7-1 is satisfied, the point I at which the edge intersects P is determined as
follows:

7.3

where:

5. After the coordinates of I are determined, the next step is to determine if I lies inside ABC. This is true if
the condition
7.4

is satisfied. in the above equation denotes the area of the respective triangles.

6. If an edge satisfies equation 7-3, the next step is to determine the status of its two nodes with
reference to the wall boundary face ABC. Node a lies outside the wall boundary if
7.5

where is the outward unit normal vector to the wall boundary face ABC. Node b

7.6

If an edge in the major-zone intersects the wall boundary of the minor-zone, then the status of its nodes
should conform

7. If an edge intersects a wall boundary an odd number of times, then one of its nodes must lie inside the
wall boundary and the other must lie outside.
8. If an edge intersects a wall boundary an even number of times, then both its nodes must lie either inside
the wall boundary or outside.
9. Based on steps 2-5, the major-zone edges that intersect the wall boundary of minor-zone are detected
and their nodes are assigned the proper status, as illustrated in figure 7-10. The cells with one or more
edges that intersect the wall boundary, such as the one shown in figure 7-6, are now marked as cut-cells,
as seen in figure 7-11.
10. The essential requirement of the hole-cutting algorithm is that the minor-zone wall boundary must be
closed surface. This would result in the cut-cells, identified in Step 6, forming a closed blanket around the
wall boundary of the minor-zone, as seen in figure 7-11.
11. Next, starting from the nodes that satisfied inequality equation 7-5, namely, the nodes of the major-zone
that lie just inside the wall boundary of the minor-zone, the algorithm recursively marks all other nodes of

126
Solver Background

the major-zone that are enclosed by the wall boundary of the minor-zone, as seen in figure 7-12, and
blanks-out the cells associated with those nodes. This procedure blanks-out all the cells in the major-zone
that lie inside the blanket of cut-cells a shown in figure 7-13.
12. The region of blanked cells, inclusive of the cut-cells, is referred to as the Chimera-hole. This region in the
major-zone may be further extended away from wall boundary of the minor-zone by providing buffer
layers. A buffer layer is an additional layer of blanked-cells added to the Chimera-hole.
13. Finally, the cells in the major-zone that lie just outside the Chimera-hole are marked as Chimera-
boundary cells, as shown in figure 7-14. The solution is interpolated to these Chimera boundary-cells from
the underlying cells in the minor-zone. This is always done and is called a single fringe. The user may
request that a double fringe be used. This instructs the Chimera algorithm to mark an additional layer of
Chimera-boundary cells next tot he first layer. This is done by identifying all cells adjacent to the first layer
of Chimera-boundary cells.

Figure 7-7. Intersection of an Edge with a Face.

127
CFD-FASTRAN V2014.0 User Manual

Figure 7-8. Edge with an Odd Number of Intersections.

Figure 7-9. Edge with an Even Number of Intersections.

128
Solver Background

Figure 7-10. Assignment of Appropriate Status to the Nodes of Edges in the major-zone That Intersect
the Wall Boundary in the Minor-zone.

Figure 7-11. Cut-cells of the Major-zone.

Figure 7-12. Recursive Marking of Nodes of the Major-zone that lie Inside the Wall Boundary of the
Minor-zone

129
CFD-FASTRAN V2014.0 User Manual

Figure 7-13. Creating a Hole in the Major Zone by Blanking All Its Cells That Lie On Or Inside The Wall
Boundary Of Minor-zone.

Figure 7-14. Chimera-boundary Cells of the Major-zone.

130
Solver Background

Figure 7-15. Chimera Boundary Cell of the Major-zone is Shown in Solid Lines. Dashed Line Represents
a Minor-zone Cell Whose Bounding Box Overlaps with that of the Chimera Boundary Cell.

Interpolation Algorithm
The Chimera-boundary cells identified in each zone by the hole-cutting algorithm represent the linkage between
the zones of an overset grid. They enable individual zones of an overset grid to communicate information back and
forth. Every Chimera boundary cell in the major-zone of figure 7-5 has to be associated with a donor cell in a
minor-zone. The solution is interpolated from the donor cell to the respective Chimera-boundary cell. This in
essence establishes a link between the minor and major zones and enables the latter to "see” the underlying solid
wall boundary in the minor-zone. The following steps are involved in the interpolation algorithm:

1. The search for the donor cells is optimized using the ADT. For every Chimera-boundary cell in the major-
zone, the interpolation algorithm traverses down the ADT of the minor-zone and identifies its cells whose
bounding boxes overlap with that of the Chimera-boundary cells, as illustrated in figure 7-15.
2. The short list of candidate donor cells is now scanned to identify the minor-zone cell 1-2-3-4-5-6-7-8 that
encloses centroid C of the Chimera boundary cell. Referring to figure 7-16, the centroid lies inside the cell
if the inequality.

7.7

is satisfied for each face of the cell. represents the outward normal vector to the face and f denotes the
centroid of the face. The minor-zone cell is then associated with the Chimera-boundary cell as its donor.

3. The next step in the algorithm is to interpolate solution to the Chimera boundary cell from its donor. Prior
to this, the solution that resides at the cell-centers of the minor-zone grid are disseminated to the nodes.
The solution at the nodes of the donor is then tri-linearly interpolated to centroid C of the Chimera
boundary cell.

131
CFD-FASTRAN V2014.0 User Manual

7.9

where qi represents the solution at the corner nodes (i = 1..., 8) and sf represents the normal distance
from the centroid of donor cell to its face f (f = 1,..., 6). The six faces of cell are defined as follows:

7.10

Figure 7-16. Test to Find Out if the Centroid of Chimera Boundary Cell Lies Inside a Candidate Donor.

4. The last step in the algorithm is to identify all orphan cells in each zone. An orphan cell is a Chimera
boundary cell that did not find a donor cell after the AD Tree had been searched for each minor zone.
Physically, orphan cells are Chimera boundary cells that reside in the Chimera hole of another grid.

132
Solver Background

Orphans are typically generated when two bodies with hole cutting surfaces (NPS) are in close proximity
to one another, such a store on a pylon. Orphans may also be created by the user selection of buffer
layers. When two bodies cut holes in each other’s grid, a large enough buffer layer can be set such that
the Chimera boundary cell of one zone is moved into the Chimera hole of the other zone.

When an orphan point is identified, it is written to an output file called ORPHAN. To avoid orphans,
Chimera boundary cells should reside completely in the non-blanked donor mesh. This is often
accomplished by increasing the overlap region, if possible. Two ways to do this is decrease the buffer
layer or modify the grids such that more points exist between the walls.

Problems and Limitations


The following points are noted:

• When cutting a Chimera-hole in any major-zone, it is imperative that the wall boundary, around which the
hole is cut, is closed. Particular care must be taken in cases where a wall boundary is the union of non-
closed segments present in different zones.
• The most vulnerable part of the algorithm is Hole Cutting steps 3-5 which determine if an edge in the
major-zone intersects a wall boundary face in the minor-zone. The code implements inequality equation
7.2 as follows:
7.11

and equality equation 7.4 is implemented as:

7.12
-4
1. where L is the characteristic length scale of the face ABC. ε is typically 10 for computations using single
-7
precision and 10 for double precision. If the wall boundary surface is not closed or if the edge
intersections with the wall boundary are not correctly detected, it may result in the entire major-zone
getting blanked-out during step 8 of the hole-cutting algorithm.
• The final limitation concerns interpolating to Chimera boundary cells. For a single fringe interpolation, a
zone should have at least two or three cells in the overlapped region. This avoids a corruption in the
solution due to poor passing of information. For example, an overlap of one cell would most likely
correspond to a Chimera boundary cell in zone A overlapping a Chimera boundary cell in zone B. If
Chimera boundary cells overlap then they simply interpolate from one another. Similarly, the double
fringe requires 4 or 5 cells of overlap to prevent Chimera boundary cells interpolation from Chimera
boundary cells of another zone.

User Input Parameters


Input parameters specified in model.DAT by the user are minimal as the scheme has been designed to be
automated. The input parameters explained below are with reference to the overset grid shown in figure 7-1. The
following parameters are required to be input:

The Chimera scheme has two modes of operation.

133
CFD-FASTRAN V2014.0 User Manual

• Chimera-type = 0; Fully automated mode


• Chimera-type = 1; Manual mode

The manual mode requires the user to input additional parameters that are enumerated below.

1. The user has to specify is a zone participates in the Chimera scheme. It is quite likely that in a complex
multi-domain problem, there will be zones, such as zone #4 in figure 7-1, that do not have any other
zones overset on them and hence can be excluded from the Chimera scheme.
• active = 0; Zone is excluded from Chimera scheme.
• active = 1; Zone is included in Chimera scheme.
2. For zones that overlap with wall boundaries in other zones, such as zones #1, #3 in figure 7-1, the user has
to provide information that would enable the scheme to cut Chimera-holes appropriately in the
respective zones. The parameters to be specified for each zone are a list of all the other zones (which
contain a wall boundary or a blockage) that influence the hole-cutting in the current zone.
3. Finally, for each zone, the user inputs a list of all the other zones which might contain donors for its
Chimera boundary cells.

Zone Active Number of Donors Donor Zones

1 1 2 2,3

2 1 1 1

3 1 1 1

4 0
The second mode is completely automated. The user does not require to provide any of the above information in
the input file. The scheme determines the mutual overlap of the different zones and generates all of the
information above by itself. However, this mode is not recommended for very complex problems with numerous
zones.

References
Bonet, J., Peraire, J., "An Alternating Digital Tree for 3D Geometric Searching and Intersection Problems”,
International Journal of Numerical Methods in Engineering Vol 31., pp 1-17, 1991.

Moving Bodies

Moving Bodies
Experimental testing and evaluation of moving objects/bodies is typically cost prohibitive and difficult to analyze.
To reduce cost and provide an easier method of analyses, the ability to simulate time-accurate moving bodies is
desirable. This capability is provided in CFD-FASTRAN through the combination of flowfield numerical solution for
structured grids, the Chimera algorithm and the motion algorithm. The flowfield solution techniques and Chimera

134
Solver Background

algorithm have been previously discussed. This chapter details the six degrees of freedom (6DOF) and prescribed
motion algorithms in CFD-FASTRAN.

The general approach of moving bodies is to construct a set of multi-block grids around each body. The grids
surrounding bodies that are to move typically overlap on other grids. Based on the 6DOF or prescribed motion, one
or more grids move through the background grids.

Motion Models
The concept of a motion model is introduced so that the zones that constitute a grid-system around a body move
in accordance with governing dynamics and constraints for that body. There are two motion model types available
in CFD-FASTRAN, 6DOF motion models and prescribed motion models. Each type of model requires unique
information for the moving body/bodies.

The 6DOF motion model requires zonal and physical data. The zonal data lists the zones required to construct a
moving body. For example, zones 3 through 7 may make the four fins and body of a missile while zones 1 and 2 are
associated with a wing. If the missile is to be fired and then move, zones 3 through 7 would be supplied to the
"missile” motion model. The physical information necessary for 6DOF simulations is:

• mass of the body

• initial center of gravity in the inertial frame of reference

• mass moments of inertia in the axis system of the body

• gravity magnitude and direction in the inertial frame

• orientation of the body axis system with respect to the inertial frame of reference

• constraints on motion

• types of forces and moments acting on the body.

The forces and moments acting on the body are subdivided and discussed in the following sections. The
aerodynamic forces and moments are supplied by the flow solver for each motion model. The pressure and shear
forces are calculated on every wall for each zone in the motion model. These forces are also used to determine the
moments about the center of gravity. Once the aerodynamic forces and moments are determined, they are passed
to the 6DOF algorithm. Point forces are optionally specified by the user to mimic ejectors, small rockets, etc. The
magnitude, direction, point of application, and frame of action must be specified by input. Note the frame of
action is either the inertial axis system or the body axis system. Additionally, the point force magnitude may be a
function of time. The moments due to the point force(s) are directly calculated by force magnitude and distance
between the center of gravity and point of application. Gravity forces are based on the user-supplied magnitude
and direction. For rocket simulations, a thrust option is available. The thrust profile must be set as a time-varying
boundary condition. The force acting on the body is

where n and A are based on the boundary faces and n is pointing away from the boundary into the zone.

135
CFD-FASTRAN V2014.0 User Manual

As the body undergoes motion, the specified velocities on the thrust boundary are assumed to act in the body
fixed axis system. This allows a user to specify time varying boundary conditions without prior knowledge of the
rocket missile flight. The total forces and moments are summed and supplied to the Equations of Motion. The
output for the 6DOF motion model consists of displacement, velocities, acceleration, forces and moments.

The prescribed motion model requires zonal and kinematics data. The zonal data required by the 6DOF and
prescribed motion model is the same. They each need a list of zones that comprise the body. The kinematics data
instructs the body exactly how to move. This data may be supplied as linear displacement velocity or acceleration.
The angular displacement, velocity or acceleration may be supplied in conjunction with one of the linear profiles.
Due to the specification of motion, the physical parameter of the 6DOF motion model, such as mass etc., are not
required. Additionally, aerodynamic forces are calculated on the surface of the body but do not influence the
prescribed motion. The output for the pressured motion model consists of displacements, velocities and
accelerations for both linear and angular motion.

Equations of Motion
The 6DOF motion model requires additional information to determine how its body moves based on the physical
properties and forces and movements. This is achieved through the general equations of unsteady motion. The
basic equations are presented briefly in this section. For a detailed derivation, see (Etkin 1982) or any basic
dynamics book on rigid body motion. The equations of motion for a rigid body with constant mass and mass
moments of inertia are given by

8.2

8.3

where

= the resultant force vector of all forces (aerodynamic, point thrust, etc.)
= the moment vector about the body center of gravity
m = the body mass
= linear velocity of the center of gravity
= , the momentum of the momentum (angular momentum)
= the angular velocity about the body's center of gravity

Note that the force equation is in the inertial frame of reference. The momentum equation is in the body fixed
frame of reference which allows the mass moment of inertia tensor, , to be time invariant.

The mass moments of inertia tensor is

136
Solver Background

8.4

The moments of inertia are completely based on the body rotating about an axis passing through its center of
gravity. For constrained motion, such as a hinge or rail, the moments of inertia are modified by using the parallel
axis theorem.

The 6DOF module involves solving the six scalar equations by a suitable numerical method in order to obtain the
displacements and velocities from the force and moments. The essential steps involved in this computation are as
follows:

1. Consider the rigid body in an initial state at time t with linear velocities , angular velocities
, and angular moments .

2. Obtain the numerical solution at time t+Δt for the flow field in which the body is moving. Using this,

compute the resultant force and the moment at time t+Δt by summing the
effects of aerodynamics, thrust, gravity and other external forces/moments, if any.

3. Integrate the forces numerically to obtain the linear accelerations, velocities and displacements of the
body at time t+Δt. These quantities are referred to the inertial frame.

4. Integrate the moments to obtain the angular momentum, angular rates and rotations of the body at time
. These quantities are referenced to the body-fixed frame.

137
CFD-FASTRAN V2014.0 User Manual

5. Use the displacements (δx, δy, δz) and rotations (δθx, δθy, δθz) computed above to move the nodes of the
grid that models the moving body.

The equations of motion given here are for rigid bodies with time-invariant mass properties. However, an
approximate methodology has been developed for cases where the mass of the body is changing over time. Please
see Appendix C for more information.

138
Chapter 14. Setting Up a Model

Setting Up Problems with CFD-FASTRAN-GUI


The previous chapter described basic operations of the GUI itself, as well as the overall workflow involved in
setting up and running a simulation (see the Getting Started section). The main steps were:

• Create a DTF file or translate another mesh file into DTF format
• Start CFD-FASTRAN-GUI and load the DTF file
• Set up the model and simulation inputs
• Save the DTF file.
• Run CFD-FASTRAN-SOLVER from the command-line, or from the Run Panel of the GUI.

The next chapter covers the run-time issues such as launching simulations and troubleshooting procedures.

This chapter focuses on the 3rd task, the modeling and simulation specifications. The CFD-FASTRAN graphical user
interface (CFD-FASTRAN-GUI) provides an easy-to-use input framework for modeling and simulation inputs.

The terms modeling and simulation have different connotations. Within CFD-FASTRAN-GUI, users are asked (1) to
specify the characteristics of the fluid, e.g. invisicid, viscous, turbulent, and (2) to prescribe the numerical
techniques and approximations which ultimately will produce the time-evolution of pressure, velocity and other
physical quantities for analysis. This work, along with the prerequisite task of representing the fluid space with a
computational mesh, is modeling.

Modeling is discretizing the fluid space and specifying the properties and behaviors of the numerical fluid, both in
space and time. Simulation, on the other hand, is defining a particular set of boundary and initial conditions for the
model, i.e. defining a specific problem in which the model will be exercised, and then running the case.

Problem Type
Working from left to right across the various tabs that appear in the Problem Setup panel of CFD-FASTRAN-GUI,
the first tab is PT (Problem Type). Figure 3-1 shows the Problem Type setting page. On this tab, users activate the
CFD-FASTRAN modules that they need:

• Flow -- always activated. Activation of the Flow module makes flow-related input parameters visible.

• Poly Grid -- The user should activate the Poly Grid module if the computational mesh is unstructured. If
CFD-FASTRAN-GUI detects unstructured grids, it will automatically select this option. Users can also
activate it for structured grids. Activation of the Poly Grid module implies use of the unstructured solver
within CFD-FASTRAN. The time-stepping and numerical options presented to the user in the SC and Out
panels are different for the unstructured solver than for the structured solver.

The unstructured solver can be used for any grid cell type including structured hexahedra, prisms, tetrahedra, and
pyramid cells types. However, some features are only available with the structured solver at the present time. In
the initial release of Version 2014, the Chemistry and Structural Coupling (Stress) modules cannot be used with
the unstructured solver.

139
CFD-FASTRAN V2014.0 User Manual

• Chemistry -- The user should activate the Chemistry module for reacting flows or flows involving mixing
only. Activation of the Chemistry module makes chemistry-related input parameters visible.

• Chimera -- Activate the Chimera module if the computational mesh for the model you are building, uses
the overset (Chimera) meshing technique. Activation of the Chimera module will reveal some Chimera-
related input parameters on subsequent panels.

• Moving Body -- Activate the Moving Body module if prescribed or calculated (6DOF) motion is required
for the model.

• Structural Coupling – Activate the Structural Coupling module if stress is solved in any of the solid zones.
This module invokes CFD-ACE+’s FEMSTRESS module.

Module Selection on the PT Tab

On the MO, VC, BC, IC, SC, and Output tabs, CFD-FASTRAN-GUI will hide inputs for Modules that have not been
activated, so that users are not forced to enter information that is irrelevant to their model.

Current Limitations of Polyhedral-Mesh Solver

1. Only constant viscosity model is available. Other models such as Sutherland’s are not currently supported.

2. Reacting/Mixing fluids are currently not supported.

3. Overset Meshes and Moving Body Models are currently supported in serial mode only. Known issues exist
with Aeroforce summaries and restarting from a previous solution for parallel runs.

These issues may be corrected in an upcoming release.

Model Options
The MO tab contains one or more tabbed pages where the user is required to specify inputs. The number of pages
depends on which Modules have been activated. In general, users should visit each page in turn and specify inputs
there.

140
Setting Up a Model

The following figure shows the MO tab with the Global settings page.

Model Options Page in Global Setting Mode

Global Settings
The following setting is made on the Global tabbed page under the MO tab:

Polar/Axisymmetric This option is valid for any 2D grid system. Selecting the axisymmetric option
indicates that the complete geometry is defined by an angular rotation of the model
about the x-axis. Essentially, the x-y coordinate system is recast as a x-r coordinate
system. The axisymmetric computations are done by internally by revolving the grid
about the x-axis by 4 degrees and using the symmetry boundary condition on each
side.

Flow Settings
On the Flow page there are inputs related to the modeling of the fluid composition and transport properties.

Gas Model CFD-FASTRAN can model a single ideal gas or a mixture of ideal gases. Choosing
Ideal Gas implies a single species gas, while choosing Species implies a mixture of
ideal gases. In the latter case the properties are read in from the user-specified
properties database. Please note that if the Chemistry module is not selected, then
the user cannot select the Species option. The converse is also true -- if the
Chemistry module is selected, then the user must cannot select the Ideal Gas
option.

Ideal Gas Properties


For ideal gases, the molecular weight and the ratio of specific heats must be entered.

141
CFD-FASTRAN V2014.0 User Manual

SPECIFIC HEATS RATIO

The specific heat ratio ( γ = Cp/Cv ) is used for calorically perfect (ideal) gases, to calculate the specific heats using
this ratio and the molecular weight and the universal gas constant.

MOLECULAR WEIGHT

The molecular weight in kg/kg-mole of the calorically perfect gas is also specified. The current default value of
28.97 kg/kg-mole is for air.

Transport Models
The next input required under the Flow page of the MO tab, relates to momentum transport. The user may specify
the flow as either Inviscid, Laminar or Turbulent.

INVISCID FLOW

This option activates the Euler equations. The Euler equations are a subset of the Navier-Stokes equations without
viscosity and heat conduction. The solver will output u, v, w, p and T.

LAMINAR FLOW

This option activates the Navier-Stokes equations. In order to model momentum and heat transport, viscosity and
heat conduction parameters must be further specified (see below). When this model is selected, the other
required input parameters will appear on the Flow page. The solver will output u, v, w, p and T. Also, the solver will
output the calculated μ laminar viscosity) and k thermal conductivity).

TURBULENT FLOW

This option activates the Navier-Stokes equations and additional modeling of flow turbulence via the Boussinesq
hypothesis - turbulence effects on the mean-flow (Favre-averaged) Navier-Stokes equations are represented by an
enhanced viscosity (μT) and enhanced conductivity (kT).

The solver will output u, v, w, p and T, the laminar viscosity and conductivity (μ, k) and the turbulent viscosity and
conductivity (μT, kT). In addition, turbulence model solution variables will be output.

At present, CFD-FASTRAN provides an algebraic model (Baldwin-Lomax), a one-equation model (Spalart-Allmaras


model) and 2 two-equation models (k-e and k-w).

Viscosity Model
For viscous flows, either laminar or turbulent, the user must specify how to calculate the laminar (molecular)
viscosity. If the flow is turbulent, the turbulent viscosity will usually dominate the molecular viscosity, except in
regions of the flow very close to walls.

142
Setting Up a Model

For calorically perfect (ideal) gases, two viscosity options are available, Constant (Dynamic) and Sutherland’s Law.
For mixing or reacting cases (Species gas model), the viscosity is calculated by formulas derived from kinetic theory
considerations, and the user should select the Kinetic Theory option.

KINETIC THEORY

The flow solver uses Lennard-Jones potentials, characteristic molecular diameters and collision integrals to obtain
species viscosities. Mixture viscosities are calculated using Wilke’s semi-empirical formula which in turn is a
function of the individual species viscosities.

CONSTANT (DYNAMIC)

This setting lets the user set a constant value of the laminar (molecular) viscosity in kg/m-s. The default is 1.71e-05
kg/m-s. This is the only model currently available with the unstructured solver.

SUTHERLAND’S LAW

Sutherland’s law is typically written as

where

T0 = reference temperature
m0 = dynamic viscosity at the reference temperature
Si = a constant

This formula can be rearranged to have the following form

The default values, suitable for air, are as follows:

1/2
A = 1.4605e-06 kg/m s K
B = 112.0 K

Conductivity Model
For ideal gases, or for mixtures and reacting flows in thermal equilibrium, the model for molecular thermal
conductivity is that it is related to the fluid viscosity by a constant, the Prandtl Number model. For mixtures or
reacting flows at very high temperatures, such that thermal non-equilibrium conditions exist, a formulation
derived from Kinetic Theory considerations should be used.

143
CFD-FASTRAN V2014.0 User Manual

PRANDTL NUMBER

Prandtl number is defined as and reflects the relative thickness of the thermal boundary layer
compared to the velocity boundary layer, that is, the ability of the fluid to conduct heat as compared to the ability
to transport momentum. For air the value is 0.7, and this is the default value used in CFD-FASTRAN. This option is
used with calorically perfect (ideal) gases and gases in thermal equilibrium.

KINETIC THEORY

This option is used for gases with thermal non-equilibrium. It uses species viscosities in conjunction with Eucken’s
assumption to determine species conductivities and internal energy conductivities.

TURBULENT CONDUCTIVITY

For turbulent flows, the turbulent conductivity is calculated by assuming a turbulent Prandtl number kt = μtcp/Prt.
The turbulent Prandlt number is set at 0.9.

Mass Diffusivity
For viscous flows involving mixtures or reacting flows, some model must be supplied to describe the transport of
species due to diffusion. Several choices are available.

FICK’S LAW

According to Fick’s Law, the diffusion of all mixtures or species are assumed to occur at the same speed in the
current cell volume. The diffusion coefficient is determined by D = μ / ρSc where μ is viscosity, ρ is density, and Sc
is the Schmidt number. The diffusivity is the same for each mixture or species.

EFFECTIVE BINARY DIFFUSION

A multi-component diffusion model is only relevant to mixing or reacting flows with species mass fractions (i.e. not
mixture fractions). This model allows different species to diffuse at different rates. This model uses characteristic
molecular diameter and Lennard-Jones potentials to determine the individual diffusion coefficients, Ds

Turbulence Modeling
For turbulent flows, a turbulence model must be selected. There are several models available, and they generally
represent a tradeoff between accuracy and computational run-time.

The available models are Baldwin-Lomax (algebraic), Spalart-Allmaras, k-e, k-ω, and Menter-SST k-ω. The default
model is a high turbulent Reynolds number k-ε two-equation model. The turbulent Prandlt number is set at 0.9 for
the k-e and the k-w models.

Notes

144
Setting Up a Model

With the k-ω turbulence models, non-zero values for k and ω must be supplied at the inlet. For the k-ε model, if
zero values are provided for k and ε, they will be replaced by very small values.

When the Poly Grid module is activated, only Baldwin-Lomax and k-ε turbulence models are available.

Spalart-Allmaras and Menter-SST turbulence models need wall distance data before being run in parallel. Currently
wall distances can be calculated only in serial. This can be done from a terminal using the following command. This
command can be executed before or after configuring the case for parallel run.

CFD-FASTRAN-SOLVER –walldist –serial –dtf <filename>.DTF

Detailed presentation of the formulation of each of these models is given in the Turbulence Modeling section.

Chemistry Settings
On the Chemistry page under the MO tab, the user specifies the reacting or mixing components and how they
react (mechanism).

Mixing Flows
There are two ways to model mixtures of non-reacting calorically perfect (ideal) gases.

The Mixture Fraction Approach is appropriate when the user is interested in two or more gases which are
themselves mixtures of individual species, for example air and something else. The air can be treated as one
mixture and the other gas/mixture as a second mixture. In addition to the primary variables, the solver output the
mixture fractions Ymix1, Ymix2, ..., Ymixn.

The Species Mass Fraction Approach is for tracking transport of individual species, i.e. air would be modeled as N2,
O2, H20 and CO2. The solver outputs the individual species mass fractions Yspec1, Yspec2, ..., Yspecn.

The user must also specify whether the flow is in Thermal Equilibrium or Two-Temperature Thermal
Nonequilibrium. Thermal non-equilibrium means that the vibrational modes of molecules are being excited,
whereas under most conditions only translational and rotational degrees of freedom contain the energy. This
situation is most commonly seen in high-speed hypersonic flow problems.

For thermal equilibrium, only one energy equation is solved, for the total energy.

Reacting Flows
If Species Mass Fraction is on, users may specify a reacting flow. This option (Reacting) is not relevant to the
Mixture Fraction model.

Under the Reacting setting, the user must choose a reaction from the drop-down list ofDefine button which will
launch the Reaction Manager (see Database Managers). As with the Mixing setting, the expected gas-kinetic state
(thermal equlibrium or non-equilibrium) must also be specified (see above).

145
CFD-FASTRAN V2014.0 User Manual

Only one mechanism-type is supported in CFD-FASTRAN, the most general type, the finite-rate mechanism.
Equilibrium and frozen flow approximations must be approximated by entering both forward and backward rates
to be the same value (equilibrium) or both very small values (frozen).

Reaction Manager Usage


The setup of finite-rate chemistry in the Reaction Manager will look something like the situation shown in the
following figure:

Finite-Rate Reaction Mechanism Specification

Users can specify a single- or multi-step irreversible or reversible chemical reaction that proceeds at a finite-rate to
completion. The global form of the reaction can be written as follows:

Reactant(s) <-> Product(s)

This global reaction step is broken down into individual component reaction steps. The number of steps can be
increased or decreased using the No. Steps value. Type your reaction in the Equation field, for example:

SIH4<->SIH2+H2

146
Setting Up a Model

The reaction rate for this reaction step can be modeled either with a general rate or with the law of mass action.
For the general rate option, the aij (concentration exponents) need not be equal to νij (stoichiometric coefficients
of the reaction). For the law of mass action setting, αij = νij.

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

MULTI-STEP MECHANISM SPECIFICATIONS

A general representation of the multi-step reaction mechanism is

where

th
v'ij = number of moles of species on the left-hand side of the j reaction step
th
v"ij = number of moles of species on the right-hand side of the j reaction step
NSPCS = total number of species considered
NSTEP = total number of reaction steps.

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

with the forward and reverse reaction rate coefficients and given by

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

where

147
CFD-FASTRAN V2014.0 User Manual

and

P0 = one atmosphere
gi = Gibbs energy.

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

THIRD-BODY REACTIONS

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:

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 a type-in 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 please consult the Fluid Governing Equations and Fluid Physical Modeling
chapters in the CFD-FASTRAN Theory Manual.

THERMAL MODE SETTING

As for mixing cases, reacting flow specifications must also prescribe the gas-kinetic thermal state of the gas.
Thermal equilibrium is the assumed state of the gas. For thermal equilibrium, only one energy equation is solved,
for the total energy.

Two-temperature thermal nonequilibrium activates an additional energy equation in the flow solver, the internal
energy equation. If the Molecular Database is used then the second temperature is the vibrational temperature,
Tv. If the low-temperature curve fit database is selected, the internal energy and temperature are a combination of
vibrational and electronic modes.

SPECIES DATABASE SELECTION

For both mixing and reacting problems the species properties are read from a properties database. Currently two
properties databases are available with the standard distribution of CFD-FASTRAN: (1) Low Temperature Database;
and (2) Molecular Database

148
Setting Up a Model

LOW TEMPERATURE DATABASE

The Low Temperature database is valid from 300 K to 6000 K. This database is a curve fit divided into two
temperature regimes (1) 300 K to 1000 K and (2) 1000 K to 6000 K. The curve fits provide Cp and h (enthalpy) as a
function of temperature for each species.

MOLECULAR DATABASE

The Molecular database is applicable to a wider range of temperatures. However, it neglects electronic energy in
molecules. This introduces some error into Cp. This database is used by the flow solver with kinetic theory
assumptions to calculate Cv , Cp and h for each species. Note the heats of formation and molecular weight of each
species are provided in the selected database.

For details on how to operate the Reaction Manager GUI, see Database Managers.

Note There are no chimera-related setting under Model Options.

Moving-Body Settings
A Moving-Body page opens under the MO tab, if the Moving-Body module has been activated.

The settings for moving-body problems are made in a separate pop-up dialog (actually, collection of dialogs),
launched when the user clicks on the Define Motion Models button.

Clicking on Define Motion Models opens the following panel:

149
CFD-FASTRAN V2014.0 User Manual

Motion Model Type


The concept of a Motion Model is straightforward. The user is first asked to define a motion not associated with
any particular volume or boundary. After the definition phase, the user then associates the model with a particular
zone.

Sometimes it is confusing to associate a prescribed motion with a computational zone, since the mesh discretizes
the fluid around a body or part of a body, not the body itself. Generally speaking, in CFD, we are modeling the fluid
and not the solid. However, since the fluid mesh must remain with the body as it moves, it is equivalent to
associate the prescribed or calculated motion with the mesh as with the body.

Select Prescribed Motion Model and then click the Edit button if you wish to specify a motion of a body or
component, not calculate it (see Figure 3-8). The prescribed motion model requires that the user completely
specify the three linear and three angular components of motion for the corresponding model.

Select Six DOF and then click the Edit button if you wish to have the motion of a body or component calculated as a
function of the forces it is experiencing (Aero and other types are available).

Prescribed Motion Model Setup


Selecting Prescribed Motion Model brings up the dialog shown below. After entering all specifications, press OK.

150
Setting Up a Model

Prescribed Motion Model

START TIME AND END TIME

Each prescribed motion model must have a specified Start Time and End Time. These times correspond to the
global flow solver time and are in seconds. The default for both is 0.0. Typically, the Start Time will be set to 0.0
sec., and the End Time will be set to an arbitrary time greater than or equal to the anticipated global solution time.

In some instances the user will require for a prescribed motion to begin at some time after the initial start of the
flow solver. This requirement is often the case with multiple motion models and is accomplished by entering the
appropriate model Start Time. For example, the sequenced deployment of a slat and flap from a wing could be
simulated by the use of two prescribed motion models. The deployment of the flap could be specified to begin at
one Start Time and the slat at a later Start Time.

151
CFD-FASTRAN V2014.0 User Manual

MODEL-BODY AXIS SYSTEM

For convenience a model-body axis system is defined. This axis system is fixed to and moves with the motion
model. Prescribed motions may be expressed in either the inertial or instantaneous body-fixed frame. The model-
body axis system is defined by entering the coordinates of the axis system origin, (x, y, z) in meters, in the inertial
frame at time zero. The orientation of the axis system with respect to the inertial frame is given by a series of three
consecutive rotations known as Euler angles.

The Euler angles are expressed in degrees and the order of rotations is important. CFD-FASTRAN assumes the
following sequence: z-axis rotation, y-axis rotation, and x-axis rotation. This rotation sequence is commonly
referred to as a yaw, pitch, roll sequence given a standard body-axis system. A maximum of three Euler angle
rotations is sufficient to bring any two vector frames into coincidence. For more details on the use of Euler angles,
1
the user is referred to Etkin pages 89-90. More general discussions on the use of Euler angles for coordinate
transformations are also found in dynamics and astrodynamics texts.

LINEAR OR ANGULAR MOTION TYPE

The user has the option of specifying the linear motion, the angular motion, or both the linear and angular motion
of a model. The linear motion and angular motion options are prescribed separately by clicking on the button
adjacent to either Set Linear Motion or Set Angular Motion.

DISPLACEMENT, VELOCITY OR ACCELERATION FUNCTION

After selecting either linear or angular motion, the user is required to specify whether the motion will be
prescribed as a displacement function, a velocity function, or an acceleration function. The default is no motion.

If displacement is specified, then the prescribed displacement will govern the motion of the model. If velocity is
specified, then the prescribed velocity will be integrated to obtain the displacement of the motion model. If
acceleration is specified, then the prescribed acceleration will be twice integrated to obtain the displacement of
the motion model. For completeness, when the velocity or acceleration of a model are not prescribed, they are
computed by differentiating the displacement and velocity, respectively.

MOTION FUNCTION SPECIFICATIONS

The displacement, velocity, and acceleration may be specified through either a 5th order polynomial, a sine-cosine
polynomial, or a time dependent file. Note, all motions must be prescribed as a function of time where time is
measured relative to the model start time. The motions are prescribed by clicking on the button adjacent to the
appropriate function option and clicking Edit.

5TH ORDER POLYNOMIAL

If the 5th order polynomial option is selected the panel in Figure 3-9 appears. The coefficients of the polynomial
are set in the six fields adjacent to the x, y, and z degrees of freedom. The form of the polynomial is

The three degrees of freedom correspond to the x, y, and z components of linear or angular
displacement/velocity/acceleration, respectively.

152
Setting Up a Model

Fifth order polynomial function

SINE-COSINE POLYNOMIAL

If the sine-cosine polynomial option is selected the panel in Figure 3-10 appears. The coefficients of the polynomial
are set in the six fields adjacent to the x, y, and z degrees of freedom. The form of the polynomial is

The three degrees of freedom correspond to the x, y, and z components of linear or angular
displacement/velocity/acceleration respectively.

Sine-Cosine polynomial function

TIME-DEPENDENT FILE

For complete generality, a tabulated file option is available for prescribing motions. If the tabulated file option is
selected the panel in Figure 3-11 appears.

153
CFD-FASTRAN V2014.0 User Manual

Selecting the source file name for tabulated data

The user then specifies a tabulated file that contains the prescribed motion functions for (X, Y, Z) and (XROT, YROT,
ZROT). The default extension for the file is '*.dat’. This is a formatted file containing one header line followed by an
arbitrary number of lines with records for time and six prescribed motion functions. The form of the file is as
follows:

Time X Y Z XROT YROT ZROT


0.000 0.000 0.000 0.000 0.000 0.000 0.0000

0.001 0.001 0.002 0.003 0.000 0.000 0.0000

0.002 0.002 0.003 0.004 0.000 0.000 0.0000

0.003 0.003 0.004 0.005 0.000 0.000 0.0000

0.009 0.009 0.010 0.011 0.000 0.000 0.0000

0.010 0.010 0.011 0.012 0.000 0.000 0.0000

Note that in a motion model out of the two field sets, (X, Y, Z) and (XROT, YROT, ZROT) (shown above), either one
or both may be used depending on the prescribed motion model settings.

MOTION REFERENCE FRAME

Each motion definition must be associated with either a body-fixed or inertial axis system. To the right of the
motion function options is a window in which the user must select the axis system in which the prescribed motions
are given. The motions may be with respect to either the inertial frame or any existing body-fixed frame of
reference. Furthermore, the linear and angular motions may be prescribed with respect to different frames.

154
Setting Up a Model

Model Dependencies
Each motion model can be linked to the motion of another model through dependencies. At the bottom of
Figure 3-12 the user is asked "Does this motion Model depend on another motion model?" The user may create a
dependency for the current motion model by clicking the button adjacent to Yes and selecting the appropriate
motion model from the adjacent window.

For example, a motion model can be constructed for a body (a wing) undergoing pure 6DOF motion. A second
motion model can be constructed for a second body (a flap) attached to and moving with the first body, but
undergoing a separate 6DOF or prescribed motion. In this example, the motion model for the second body (flap)
would be dependent on the motion model of the first body (wing). Therefore, model 2 would be developed with a
dependency on model 1.

6DOF Motion Model


The following figure shows the 6DOF Motion Model window after it is invoked when the Edit button is clicked for a
6DOF motion model. The 6DOF Model in general requires the user to define the orientation, physical properties,
and initial conditions of a body undergoing free motion.

In addition, the user is required to define all point and body forces and constraints acting on the motion of system.
Given the above information, the 6DOF model will calculate the resulting motion of the body employing the
general equations of motion for a rigid body. The general equations of motion employed in CFD-FASTRAN are
1
based on the formulation of the Euler Equations of motion presented in Etkin .

155
CFD-FASTRAN V2014.0 User Manual

Six DOF motion panel

START TIME AND EVENT SEQUENCING

Each 6DOF motion model must have a specified Start Time or Model Sequence. 6DOF models have no model end
times. The user specifies the model start time by clicking on the button adjacent to Specify Model Start Time and
entering the start time in the input field. The model start time corresponds to the global flow solver time and is in
seconds. The default is 0.0. Typically, the Start Time will be set to 0.0 sec.

In some instances the user may require for a 6DOF motion model to be sequenced to a prescribed motion model.
For example, a flap or fin might have a prescribed motion followed by a period of free motion. This type of motion
can be treated in a single simulation by specifying the 6DOF model as a continuation of the previous prescribed
motion model. This feature is activated by clicking the button adjacent to Specify a Model Sequence and selecting

156
Setting Up a Model

the preceding model from the window below. There should be at least two motion models before this button will
be activated.

Note When this feature is activated, the current model’s axis system and initial conditions will be set to the final
values of the preceding model.

MODEL-BODY AXIS SYSTEM

For convenience a model-body axis system is defined. This axis system is fixed to and moves with the motion
model. The model-body axis system is defined by entering the coordinates of the center of mass of the body, (x, y,
z) in meters, in the inertial frame at time zero. The orientation of the axis system with respect to the inertial frame
is given by a series of three consecutive rotations known as Euler angles.

The Euler angles are expressed in degrees and the order of rotations is important. CFD-FASTRAN assumes the
following sequence: z-axis rotation, y-axis rotation, and x-axis rotation. This rotation sequence is commonly
referred to as a yaw, pitch, roll sequence given a standard body-axis system. A maximum of three Euler angle
rotations is sufficient to bring any two vector frames into coincidence.

INITIAL VELOCITIES

The initial conditions for the moving body may be specified by initial linear (translational) and angular (rotational)
velocities. The default values are zero for all initial velocities. The linear velocities are specified in the inertial frame
and the angular velocities are specified in the initial body-fixed frame.

MODEL MASS PROPERTIES

Solution of the general equations of motion requires that the mass and inertia matrix of the body be given. The
mass of the body is entered in the appropriate field in units of kg. The inertia matrix is composed of the mass
moments and products of inertia of the body. The form of the inertia tensor is given below

The diagonal of the matrix is composed of the mass moments of inertia and the off-diagonal terms are composed
of the mass products of inertia. The moments and products of inertia are entered in the appropriate fields in units
2
of kg-m in the body-fixed axis system. The moments of inertia (Ixx, Iyy, Izz) must have values greater than zero for all
models. Otherwise, the inertia matrix will have a zero determinant. The products of inertia (Ixy, Iyz, Ixz) must be
greater than or equal to zero. For a symmetric body, the products of inertia are identically zero. Also, note that
Ixy=Iyx, Iyz = Izy, and Ixz = Izx. For a more complete discussion of the properties of the inertia matrix the user is referred
2,3
to classic dynamics books .

MASS AS A FUNCTION OF TIME

The user can also specify the mass as a function of time. This can be done by manual editing of the model.DAT
file. When you save a DTF file with CFD-FASTRAN-GUI, a DAT file is also created. The DAT file can be used to set
certain things that cannot be set in CFD-FASTRAN-GUI, such as the mass as a function of time.

157
CFD-FASTRAN V2014.0 User Manual

Open the model.DAT file in a text file and search for data related to the particular motion model number (for
example, Motion Model Model 1). Under this title you will see the following input for mass:

Mass Variable file


0.0000 0 mass.dat

Change this to:

Mass Variable file


0.0000 1 mass.dat

This change causes the flow solver to read the input from the file mass.dat. The file mass.dat is a formatted
(ASCII text) file. The format of the file mass.dat is described below:

Time Mass dx dy dz Ixx Iyy Izz Ixy Iyz Izx

0.0 10.0 0 0 0 0.25 0.25 0.25 0 0 0

0.1 9.0 0 0 0 0.25 0.25 0.25 0 0 0

0.2 8.0 0 0 0 0.25 0.25 0.25 0 0 0

Here, Time is the flow time, Mass is the mass at that time, dx, dy, dz are the displacement of center of gravity from
the original position in the model body axis system, Ixx, Iyy, Izz, Ixy, Iyz, Izx are the moment of inertia components
at that time. All the quantities are in SI units.

6DOF Model Forces


The 6DOF motion is due to specified forces. Many types of forces are available in CFD-FASTRAN: aerodynamic
forces, point forces, integrated thrust forces, gravity forces, and motion constraints. To activate the various force
types, the user must click on the button adjacent to the option. The individual modeling options are discussed
separately below.

AERODYNAMIC FORCE

Aerodynamic forces may be applied to a 6DOF model by clicking on the Aero. Force button in the Modeling
Options section. The Edit button near the Aero. Force button must be clicked to complete the input required for
aerodynamic forces. By clicking on edit, a secondary window appears; see the following figure. The user must list
the zones (i.e., the zone number) that contribute to the aerodynamic force on the body. The aerodynamic forces in
each zone include the pressure and shear forces and are calculated automatically based on the application of wall
boundary conditions.

158
Setting Up a Model

Specifying zones for aerodynamic forces

POINT FORCE

Point forces may be applied to a 6DOF model by clicking on the Point Force button in the Modeling Options
section. The Edit button beneath the Point Force button must be clicked to complete the input required for point
forces. By clicking on edit, a secondary window appears.

Adding point forces

A point force is added to the 6DOF model by clicking on the Add button. The force can be deleted by clicking the
Delete button. After adding a force, the Edit button in the Point Force window must be clicked to set the point
force properties. Clicking edit causes a new window to appear, see the following figure. The Edit Point Force
window allows the user to specify the properties of the point force. The point force is saved by clicking Accept.

159
CFD-FASTRAN V2014.0 User Manual

Point force panel

POINT AND FRAME OF REFERENCE

The user must first specify whether the force vector will be applied in the inertial or body-fixed frame of reference
by clicking on the appropriate button. Next the user must supply the point of application of the force in the inertial
frame of reference at time zero.

FORCE FUNCTION

The user is required to specify the force vector, , in units of Newtons. The force vector may be specified through
either a 5th order polynomial, a sine-cosine polynomial, or a time dependent file. The force vector may be
prescribed as a function of time where time is measured relative to the model start time, or as function of the

160
Setting Up a Model

displacement of the point of application in one of the degrees of freedom. The frame of reference for the
displacement for the point of application corresponds to the point force frame of reference.

The independent variable for the force function is set by clicking on the button adjacent to time or one of the six
degrees of freedom. The force vectors are prescribed by clicking on the button adjacent to the appropriate
function option and clicking Edit. The individual functions for specifying the force vector are discussed below.

5th Order Polynomial: If the 5th order polynomial option is selected the panel in Figure 3-9 appears. The
coefficients of the polynomial are set in the six fields adjacent to the x, y, and z components of the force vector.
The frame of reference is the frame of reference specified on the main Edit Point Force window. The form of the
polynomial is

where t is the specified independent variable.

Sine-Cosine Polynomial: If the sine-cosine polynomial option is selected the panel in Figure 3-10 appears. The
coefficients of the polynomial are set in the six fields adjacent to the x, y, and z components of the force vector.
The form of the polynomial is

where t is the specified independent variable.

Time Dependent File: For complete generality, a tabulated file option is available for prescribing the force vector
components. If the tabulated file option is selected the panel in figure 3-29 appears. The user then specifies a
tabulated file that contains the force vector components. The default extension for the file is '*.dat’. The form of
the file is as follows:

Indep. Var. Fx Fy Fz

0.0000 0.0000 0.0000 0.0000

0.0001 0.0001 0.0002 0.0003

5.0000 0.1000 0.2000 0.3000

The file is read as an unformatted file containing one header line followed by an arbitrary number of lines with
records for time and the three components of the force vector.

Additional Force Dependencies:

The user may specify additional time or distance based dependencies. The default is none. A time dependent
dependency is set by clicking on the button adjacent to Time Dependent. The user must then supply the Start Time
and End Time for the force in the type-in fields. Note that all times are relative to model start time. A distance
dependent dependency is set by clicking on the button adjacent to Distance Dependent. The user must then enter
a distance through which the force will be applied and in which degree of freedom and reference frame.

Two examples are given. First, the user could specify a time dependent force with an additional distance
dependency. This type of force modeling could be used to simulate a time dependent ejector force with a fixed

161
CFD-FASTRAN V2014.0 User Manual

stroke length. Second, the user could specify a distance dependent force (a spring is a distance dependent force)
with an additional time dependency. This type of force modeling could be used to simulate a spring loaded force
that acts for a certain time.

THRUST FORCE

Thrust forces may be applied to a 6DOF model by clicking on the Thrust button in the Modeling Options section.
The Edit button beneath the Thrust button must be clicked to complete the input required. By clicking on edit, a
secondary window appears, see the following figure (top). The user must click on Add to add a thrust force as
shown in the figure. Next the user should specify the zone number and the patch (surface) number across which
the thrust force should be integrated as shown in the following figure (bottom). This patch size is determined by
the original grid read in the GUI.

Adding the thrust forces

Specifying a thrust surface

GRAVITY FORCE

Gravitational body forces may be applied to a 6DOF model by clicking on the Gravity button in the Modeling
Options section. The Edit button beneath the Gravity button must be clicked to complete the input required. By
clicking on edit, a secondary window appears, see Figure 3-18. The user is required to enter the gravitational

162
Setting Up a Model

2
acceleration in m/s . This value is defaulted to zero, no gravity force. The standard gravitational acceleration of the
2
earth is 9.81 m/s . The user is also required to enter the unit gravity vector in the inertial frame of reference.

Figure 3-18.Specifying gravitational forces.

CONSTRAINTS

The motion of a rigid body may be unconstrained or constrained. For example, a missile in free flight is
unconstrained and experiences free motion in all six degrees of freedom. However, in many cases the motion of
the object may be constrained in one or more degrees of freedom. For example, a missile being launched from a
rail may be constrained from rotating or translating in directions other than the rail direction. This type of motion
is termed constrained motion. The 6DOF model has extensive options for applying constraints. The constraints
function as a switch that turns off the motion in the specified degree of freedom. More advanced constraints are
also available for simulating limited motion and/or pinned rotations.

Adding constraints

163
CFD-FASTRAN V2014.0 User Manual

Specifying a constraint model

Motion constraints may be applied to a 6DOF model by clicking on the Constraint button in the Modeling Options
section. The Edit button beneath the Constraint button must be clicked to complete the input. By clicking on edit, a
secondary window appears, see Figure 3-19. A constraint is added to the 6DOF model by clicking on the Add
button. The constraint can be deleted by clicking the Delete button. After adding a constraint, the Edit button in
the Edit Motion Constraints window must be clicked to set the constraint properties. Clicking edit causes a new
window to appear, see Figure 3-20. The Edit Constraint window allows the user to completely specify the
properties of the constraint. The constraint is saved by clicking Accept.

FRAME OF REFERENCE:

The user is required to select the frame of reference in which the constraint will be applied. The user either clicks
the button adjacent to Inertial Axes or Model-Body Axes.

CONSTRAINED DOF:

The user is required to select the degree of freedom to which the constraint will be applied by clicking on the
button adjacent to the degree of freedom.

CONSTRAINT TOLERANCES:

The user is given the option of providing plus and minus tolerances for the constrain in the type fields. The
tolerances are given in terms of displacements in either degrees or meters depending on the selected degree of
freedom. For example, a constraint tolerance could be used to simulate a flap undergoing free motion with a

164
Setting Up a Model

known maximum and minimum deflection angle. If either the maximum or minimum angle is exceeded, then the
motion in the associated degree of freedom would become constrained.

PINNED ROTATIONS:

The user is given the option of producing a pinned or hinged rotation. This type of motion occurs when an object is
forced to rotate about a point other than its center of mass. Examples of this type of motion include: hinged
canopy jettison and store release from a hook. If one of the rotational degrees of freedom has been selected, then
the user can activate a pinned rotation by clicking the button adjacent to Yes. The user must then enter the center
of rotation for the pinned rotation. This pinned rotation will be enforced while the constraint is active. Once the
constraint is released, the center of rotation will revert to the center of gravity.

CONSTRAINT CONTROL:

Three options are available for controlling the application of the constraint: Invariant, Time Based, or Distance
Based. The type of constraint is set by clicking on the button adjacent to the preferred mode. Invariant constraints
are applied for the duration of the simulation. Time dependent constraints are given a Start Time and End Time
during which the constraint is applied. Note all times are relative to the model start time. Distance dependent
constraints are given a distance value. The constraint is applied only till this specified distance has been traversed,
after which the constraint is turned off. The specified distances correspond to the linear or angular displacement of
the center of gravity of the moving body. The user is also required to specify the degree of freedom and frame of
reference in which the displacement takes place.

Database Managers
CFD-FASTRAN-GUI may launch certain panels called "Database Managers" that appear as independent windows on
top of the main GUI. These can be launched manually by the user, using the Tools menu as described above, or
they may be launched when the user clicks one of the "Define" buttons in the Problem Setup panels. For example,
under the Initial Conditions panel, for a reacting flow problem, the mixture specification is a drop-down menu. If
there are no mixtures available for selection, the user would click the "Define" button and this would launch the
Reaction Manager.

There are three Database Managers; each has one or more binary database files associated with it:

• Species Property Manager


• Volume Reaction Manager
• Surface Reaction Manager

The Property Manager maintains a database of species and mixtures. The Reaction Manager allows input of gas
phase reaction mechanisms for use by the CFD-FASTRAN Chemistry Module. Currently reaction mechanisms with
finite-rate chemistry (using the species mass fraction approach) are supported. The Surface Reaction Manager
allows input of surface reaction mechanisms for use by the CFD-FASTRAN Chemistry Module.

The Database Managers actually perform two functions: (1) allow specification of mixtures and reactions for the
currently loaded simulation; and 2) maintain a database of commonly used mixture and reaction definitions.

165
CFD-FASTRAN V2014.0 User Manual

Supplied Databases
Upon launching the CFD-FASTRAN-GUI application, the Property Manager automatically reads two database files
(even before any model is loaded). The two files are fastran_lotemp.dat and fastran_molecular.dat. These two files
are part of the CFD-FASTRAN package distribution.

The fastran_lotemp.dat and fastran_molecular.dat files are read-only files and store data that is essentially part of
the CFD-FASTRAN distribution.

User-Defined Databases
Users may maintain their own personal database file. Mixtures and reactions could be specified in the Database
and exported as SDB files for use with other DTF files. Users can also import chemkin data into the database.

Note Species information cannot be modified by the user and thus are not saved to the DTF file. The species
properties are always read from the global database files fastran_lotemp.dat or fastran_molecular.dat.

Database Manager User Interfaces


The Database Manager work in nearly identical ways for species, mixtures, volume reactions and surface reactions.
The descriptions here are given in terms of Species Property Manager

File Menu
Select New to create a new grouping folder, new species, new mixture, or new reaction mechanism.

Note You must be in an active folder (listed on the left side of the panel) before you can create a new mixture or
species.

Select Import to read the properties from an existing local database file and add them to the currently loaded
information. A file dialog box will be presented to allow you to navigate to find your local SDB, py or DMD (2006)
files. Select Import Chemkin to read the transport and reaction data from Chemkin.

Select Export to write the properties into a new or existing local database file. A file dialog box will be presented to
allow you to navigate to where you want to save the SDB file. It should be noted that this operation will overwrite
an existing SDB file. Users can also choose to save a python file that can be used in scripts to recreate the species,
mixtures and reactions.

Select Close to close the Property Manager. All of the entries that are present in the Database Manager at the time
it is closed will become the currently loaded information in the memory of CFD-FASTRAN-GUI. So long as you use
all defined reactions and mixtures, they will become saved into the DTF file once you save the model. If you do not
use every reaction or mixture you have defined, you will lose the unused reactions or mixtures after you close CFD-
FASTRAN-GUI, unless you have saved them to a local SDB file.

166
Setting Up a Model

Edit Menu
• Select Cut delete an entry and copy it to a clipboard.
• Copy to copy an entry to a clipboard.
• Paste to paste an entry from the clipboard to the currently active folder.
• Delete to delete an entry.

Species Property Manager


The Species Property Manager is used to define species. From Database, choose species to define it.

To add a new species, select a folder from the folder list located on the left side of the Property Manager panel.
Select File > New >Species. The Property Manager panel will produce a new entry named New Gas Species. The
attributes of the new entry will be the default settings.

To change the new species’s attributes, you must define which elements are included in the species and specify
the number of atoms of that element in the species. Some properties such as the molecular weight are
automatically calculated based on the elemental composition. If your model needs other molecular and thermal
properties (degree of freedom/vibration mode, etc.), it must be specified manually.

Mixtures Property Manager


The Mixtures Property Manager is used to define mixtures. From Database, choose mixtures to define it.

To add a new mixture, select a folder under the Mixtures from the folder list located on the left side of the
Property Manager panel. Select File > New > Mixture. The Property Manager panel will produce a new entry
named New Mixture. The attributes of the new entry will be the default settings.

To change the new mixture’s attributes, you must define which species are included in the mixture and specify the
mass fraction of each of these mixture components. This is done by selecting a species from the Available Species
list and pressing the Add Species button. You can then type the mass fraction of that species in the lower type-in
field. A list of all of the species in the mixture as well as the species mass fractions will be constructed. It is up to
the user to verify that the species mass fractions sum to 1.0 for the mixture.

Volume Reaction Manager


The Reaction Manager is currently used to define gas and bulk phase reaction mechanisms. From Database,
choose Volume Reactions to define it.

To define a reaction mechanism, select File > New > Mechanism. A new reaction mechanism will be created and
you may change the name of that mechanism if you so desire. Currently the only type of mechanism that is
supported is finite-rate chemistry (species mass fraction approach).

After you create a new mechanism, select it from the list on the left side of the Reaction Manager in order to edit
it. Each mechanism has a section for a name, and notes. The name and notes are provided for your convenience.
They are not used inside the code other than for output purposes. Note that constants for each mechanism must
be given in SI units. This restriction will likely be removed in future versions.

167
CFD-FASTRAN V2014.0 User Manual

Note The symbols '->' represent an irreversible reaction while '<->' are used to specify a reversible reaction.

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.

Reaction mechanisms and reaction mechanism steps can be deleted by selecting the appropriate icon on the
toolbar.

Surface Reaction Manager


The Surface Reaction Manager is used to define surface reaction mechanisms to activate models of chemical
reactions leading to transfer of a particular chemical species at one or more surfaces.

Create a new Surface Reaction mechanism using File > New > Mechanism. A new surface reaction mechanism will
be created and you may change the name of that mechanism if you so desire.

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 user can specify the mechanism to be either sticking or fully. The meaning of these settings is
described in Surface Reactions.

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

Constants for each mechanism are assumed to be given in SI units. SI units are in kmol, m, s, kg. The units for E/R
are in Kelvin. You will be reminded of the units wherever appropriate.

Volume Conditions (VC)


The Volume Condition (VC) panel is not utilized in CFD-FASTRAN as much as it is in CFD-ACE+. The VC panel in CFD-
FASTRAN is used to specify Chimera settings associating motion models with zone and specifying zones in which
stress must be solved.

Selecting VCs
Before any Volume Condition settings can be made, you need to pick a Volume Condition(s) to make it active.
Picking can be done in the Viewer Window or the Entity List, as described in GUI Operations. Users may pick a
single volume at a time, or multiple volumes. Users can also group similar volumes into a logical Group entity, so
that selection of any member of the group will automatically select all members of the Group. Again, refer to
Chapter 2 on GUI Operations for more information on how to use the GUI.

After one or more Volume Conditions have been picked, you must select the Volume Condition setting mode. Each
mode allows you to set different information about the currently selected volume condition(s). The Setting Mode
can be changed by using the Setting Mode pull-down menu.

168
Setting Up a Model

Properties Settings
The first setting mode is Properties. Currently it allows specifying a zone as a fluid or solid (only if structural
coupling is ON).

Fluid: This option is the default for most cases. This option allows flow equations to be solved for the selected
volumes.

Solid: This option allows stress to be solved in selected zones. This will also make visible additional options to
specify the properties of the solid material.

Press Apply to apply the setting to the selected volume, or press Reset to return all of the settings back to the
values that the Volume Condition panel had, when it was first selected (effectively undoing any setting
operations). The OK button is similar to Apply, but it also deselects the active Volume Conditions, whereas Apply
still leaves them selected.

Note It is important that the Apply or OK operation is performed, otherwise the settings will not be saved.

Solver Control Settings


The next setting mode is to control solver settings on a zone by zone basis. The settings under SC tab are applied
globally. Those settings can be overridden from here. See the Solver Control section for more details on the
settings.

169
CFD-FASTRAN V2014.0 User Manual

Deformation Settings
The next mode allows specifying the fluid regions where grid deformation should be applied. This option becomes
available only if structural coupling is ON. CFD-FASTRAN deforms grids using the TFI approach and users must
specify the regions on the basis of I, J and K values for each zone. Multiple patches can be applied allowing finer
control over the regions that move. The default values of 1, -1 will include all regions in the zone.

Chimera Settings
The next mode allows to specify chimera related settings.

170
Setting Up a Model

Chimera Grid Specification Window

Automated Option for Zonal Connectivity


In order to model a fluid environment with overset meshes, the solver must know which meshes overlap which
other meshes. This is sometimes very easy to figure out, but other times it can be difficult, for example when two
or more meshes overlap another mesh in the same region.

The first task in setting up a Chimera model is to provide information to the solver about which zones overlap what
other zones. Two options are currently available for this task in CFD-FASTRAN, Automated and Manual.

The Automated option requires no information from the user and is the default setting. The Automated Chimera
option in CFD-FASTRAN exhaustively searches each grid to see if it overlaps another grid. Grids that overlap are
allowed to be "flow information donors” to each other. For steady-state problems, this exhaustive search is done
once and stored in memory. For transient or moving-body problems, the exhaustive search is done at each time
step (cycle).

Note If more than 1 zone is used to construct a Chimera hole cutting surface, then the Manual Chimera option
must be used.

Manual Option
The Manual option for Chimera hole cutting and donor information exchange requires slightly more input from the
user but reduces the search time by the flow solver. For more basic understanding of the procedure below, see the
chapter on Error! Hyperlink reference not valid..

The procedure for Manual Chimera is as follows:

1. Pick Each Zone In Turn

For the Manual Chimera option, the user must select each zone in order from the list shown on the left
side of the Chimera Setup dialog.

2. Identify Overlapping Zones

For each zone, the user must identify whether any other grids overlap the boundaries of the zone in
question. The solution on these boundaries, for the zone in question, will be obtained by interpolation
from the other zones that overlap.

3. Add Donor Zones to the List

Using the middle lists of available zones (see figure 3-4 for example), construct a list of potential "donor"
zones for the currently selected zone. In Figure 3-4, Domain 3 is overlapped by Domains 1 and 2. Since the
user is operating on Domain 3, Domain 1 and Domain 2 must be listed as donors for this zone. This is done
by clicking on the Domain name in the left "Pick Chimera Donor" list then clicking on the Add button. The
linked domain then appears in the right

4. Specify Number of Buffer Layers

171
CFD-FASTRAN V2014.0 User Manual

A buffer layer expands the size of any Chimera hole. CFD-FASTRAN uses closed surfaces, such as walls or
blocked regions, to create Chimera holes (or blanked regions) in a grid. By default, the number of buffer
layers is 1. This means that a closed surface will cut a hole in any mesh that overlaps it, and the initial
"blanking" of grid cells defines the hole. With a buffer layer of 2, grid cells adjacent to the initial hole cut
are identified and are also blanked.

Buffer layers are a good thing. Zone boundaries should not receive interpolated data too close to a wall
surface, because the solution gradients are usually high there. The rule of thumb is to use as many buffer
layers as possible, but not so many that you move the hole-boundary beyond (outside) of the donor zone;
that would correspond with the creation of "orphan" grid cells (cells without interpolants).

To illustrate the idea of a buffer layer, a 2D example of a projectile in a grid (Zone 1) is presented, see the
following figure. The mesh around the projectile exists, but is not shown.

Two-Dimensional Overset Grid Example

The projectile surface is used to cut a Chimera hole in Zone 1. Initially, all Zone 1 points are blanked within
the projectile surface. CFD-FASTRAN uses the specified buffer layer (set to 1 in the following figure) to
enlarge the blanked region. After cutting the hole in Zone 1, the Zone 1 mesh looks as shown below:

172
Setting Up a Model

Two-Dimensional Overset Example for Buffer Layer = 1

In the following figure, a second example is given for a buffer layer of 2. The blanked region is clearly
larger in Zone 1. The larger hole typically permits a better quality solution to be obtained for both grids.
However, as a hole region grows larger, the possibility of orphan points increases.

Two-Dimensional Overset Example for Buffer Layer = 2

Note When restarting a job from a previous simulation, the user must never decrease the number of
buffer layers, as this will cause the Chimera fringe cells (see below) to interpolate from a region that was
previous blanked.

173
CFD-FASTRAN V2014.0 User Manual

5. Specify Number of Fringe Layers

The "fringe" of a hole is the its boundary. Grid cells on the boundary will have their solution values
interpolated from an overlapping mesh, if the number of fringe layers is 1. If the number is increased to 2,
then both the hole boundary cells, and adjacent (non-blanked) grid cells, will have interpolated values.

There is no particular benefit to increasing the number of fringe layers beyond 1 except that, in some
extreme cases, it can help deal with cases where a lot of orphan cells exist. There must be sufficient
region of overlap between the donor and the recipient grids in order to increase the number of fringe
layers to 2 or more.

Grid Motion Settings


Recall that, grid motion settings can be specified by clicking on the Moving tab button under the MO tab. After
defining either Prescribed or 6DOF motion models, the next step is to specify the association between the motion
models and grids. The Moving mode allows to perform this association.

Moving Grid to Motion Model link Window

The Zone or Zones that are moving, due to prescribed or degree-of-freedom motion, must be selected one at a
time. The Zone is selected by clicking its name from the list at the lower left corner.

By default, all zones are assumed to be non-moving. Therefore, the user only needs to select the moving Zones
from the lower left list. Click the Yes button once the appropriate Zone is selected. If an error is made, simply click
on the No button to indicate that the Zone is not moving.

Once the Zone is selected and denoted as moving, the user must specify the name of the motion model which
governs the motion of the zone. The name of this motion can be changed by choosing from the drop down list
which is populated with the previously created motion models.

174
Setting Up a Model

Boundary Conditions (BC)


Boundary conditions, along with initial conditions, specify the problem to be solved. Boundary conditions are part
of the specification of a particular problem, i.e. they are not part of the model per se, but rather part of the
specification of the environment in which the model will be simulated. Boundary conditions prescribe the fluid and
flow state at the boundaries of the model, for the entire time that is simulated. Initial conditions give the initial
state of the fluid in the modeled region.

Users should take great care in placing the fluid environment boundaries in locations where boundary conditions
are well-known, and in assigning boundary condition types and values that are accurate. ESI Customer Support has
observed that models that are not producing expected results or behaviors, are often due to non-physical or
inaccurate simulation conditions (initial and boundary conditions).

Selecting BCs
Before any Boundary Condition settings can be made, you need to pick a Boundary Condition(s) to make it active.
Picking can be done in the Viewer Window or the Entity List, as described in Chapter 2 on GUI Operations. Users
may pick a single boundary at a time, or multiple boundaries. Users can also group similar boundaries (either the
same type or part of the same physical boundary) into a logical Group entity, so that selection of any member of
the group will automatically select all members of the Group. Again, refer to Chapter 2 on GUI Operations for more
information on how to use the GUI.

In order to pick a BC, users must first click on the BC tab in the Problem Setup panel – this will automatically cause
the Entity List to show Boundaries instead of Volumes.

In 3D models, boundaries of the fluid volumes are either structured-grid faces or unstructured-domain "loops"
(CFD-GEOM jargon). In 2D models, boundaries are edges or other 1D entities used in construction of a loop (lines,
curves). Faces are indicated in the Viewer Window using a pair of crosshairs connecting the midpoints of opposing
faces. Loops are indicated by showing the outline of grid cells around the circumference (outline) of the loop.

Once one or more Boundary Conditions have been picked, you must select the Boundary Condition setting mode.
Each mode allows you to set different information about the currently selected boundary condition(s). Choose the
General setting mode for all BC types in CFD-FASTRAN.

The BC tab will only show pages according to the CFD-FASTRAN modules that have been activated on the Problem
Type (PT) tab. Figure 3-22 shows the BC tab for a case involving Flow, Chemistry and Chimera modules.

175
CFD-FASTRAN V2014.0 User Manual

Figure 3-22. Boundary Conditions page in General Setting Mode.

Supported BC Types
There are a fixed number of BC "types" used in CFD-FASTRAN. With one or more boundaries selected, the user
should set the type using the drop-down list. For each BC type, there may or may not be required inputs. If there
are required inputs, they are organized according by module, as was done on the Modeling Options (MO) tab.

BC Type Function
The inlet condition allows a fixed mass flow rate or total pressure boundary condition. The
Inlet
flow must be entering the domain for this condition to work properly.

The exit condition has two options. The Fixed P option is to be used with subsonic flow
conditions and requires the user to specify the static pressure at the exit boundary. The
Exit
Extrapolated condition is used with supersonic flow and all variables are extrapolated from
the interior of the domain to the exit boundary.

The inflow/outflow condition is used on boundaries where the user is uncertain of whether
the flow will enter or leave the domain at a point, such as a moving body or high angle-of-
Inflow/Outflow
attack body. The inflow/outflow condition requires static temperature, static pressure and
other flow variables be entered.

The wall condition has four conditions: adiabatic, isothermal, heat flux and, aeroelastic
(Fluid/Structure interface). The adiabatic wall is the default for all surfaces. The isothermal
Wall wall uses a constant temperature at every point on the selected surface. The heat-flux wall
uses a constant heat flux at every point on the selected surface. The aeroelastic wall
condition prompts the user for a unique identifying number to match with a structural-
module-side boundary. Additionally, the wall surface roughness (grain size) can also be

176
Setting Up a Model

specified and is only active when using the k-e turbulence model.

The symmetry condition is used for grids/bodies which are symmetric. Pressures and
Symmetry
temperatures are automatically extrapolated and velocities are mirrored.

The overset condition is needed for Chimera/Overset structured grids. This boundary
Overset
condition is not valid with unstructured grids.

The interface condition says that two zones (structured or unstructured) are patched (1:1
Interface
matched) to each other.

The Time Profile boundary condition allows users to specify static pressure, static
Time Profile
temperature and the velocity magnitudes at a surface.

Summary of Boundary Condition Types


After filling out the input specifications for the selected type (described below), the user should press Apply to save
the changes. Reset will return all of the settings to the values that the Boundary Condition had when it was first
selected (effectively undoing any setting operations).

Note It is important that the Apply operation is performed, otherwise the settings will not be saved.

Inlet BC Specifications
The Inlet boundary condition has three forms, the fixed mass flow rate (through velocity specification), the fixed
mass (normal) and the total pressure condition. The user specifies which form to use, on the Flow page of the Inlet
BC panel.

Fixed Mass Flow Rate


For a subsonic fixed mass flow rate, the density and velocities on the boundary surface are held constant while the
remaining variables are extrapolated from the interior of the domain. For a supersonic fixed mass flow rate, all
variables are held constant.

Fixed Mass (Normal)


This inlet subtype requires the user to specify the static pressure, temperature, and total mass flow rate (with flow
direction) to be applied over the entire boundary patch. The velocity magnitude of each boundary face is
determined by scaling the specified magnitude to ensure that the desired mass flow rate is obtained. The same
scale factor is applied for all boundary faces on the inlet and is calculated as:

where

177
CFD-FASTRAN V2014.0 User Manual

= the specified total mass flow rate


= the vector direction (normal direction)

The local velocity magnitude can then be determined by applying the same scale factor to all boundary faces. This
BC subtype should be applied only at subsonic boundaries with flow entering in.

Total Pressure
For the total pressure condition, total pressure and temperature are held constant while the remaining boundary
variables are determined from the interior conditions and isentropic relationships. Note the user must specify the
static conditions at the inlet boundary. Total conditions are calculated by CFD-FASTRAN and are set as constant.

For reacting flows, the Chem page for an Inlet BC requires that the user specify the name of the chemical mixture
coming into the computational domain at the boundary. The mixture name is set by using the drop-down list of
available mixtures. If no mixtures are yet defined, you can define a mixture by clicking on the Define button. This
launches the Reaction Manager in which you can create a new mixture.

The composition of the incoming user-specified mixture does not vary.

Outlet BC Specifications
The outlet or exit boundary condition has two options, the fixed static pressure option (Fixed P) and the
extrapolated option.

Fixed Pressure
For subsonic outflows, the Fixed P option can be used and requires that the user specify the pressure on the exit
plane of a domain. The flow solver checks the local Mach number at boundary points using Fixed P conditions. For
local subsonic outflow, the pressure is set by the user-specified value while the remaining flow variables are
extrapolated from the interior to the exit plane. For Fixed P supersonic outflow, the user-specified pressure is
temporarily overridden and all variables are extrapolated from the interior.

For reacting flows or mixtures, the user must specify the mixture that would enter the boundary, if backflow
conditions exist there. Otherwise, the treatment is extrapolation for the chemical species. If there are no mixture
names in the drop-down menu, the user should click the Define button to create some mixtures in the Reaction
Manager, then come back to the Chem page and select the newly defined mixture.

Extrapolation
The Extrapolated option requires no information from the user. All flow variables are extrapolated to the exit
boundary from the domain interior. This condition should be used for supersonic flows.

178
Setting Up a Model

Note CFD-FASTRAN does not check the local Mach number for the extrapolated BC. The solution may not
converge if extrapolated conditions are used for subsonic outflow conditions.

For reacting flows or mixtures, the user must specify the mixture that would enter the boundary, if backflow
conditions exist there. Otherwise, the treatment is extrapolation for the chemical species. If there are no mixture
names in the drop-down menu, the user should click the Define button to create some mixtures in the Reaction
Manager, then come back to the Chem page and select the newly defined mixture.

Inflow/Outflow BC Specifications
The Inflow/Outflow boundary condition has no sub-options. This boundary condition is a combination of the Inlet
BC and Exit BC described previously. The CFD-FASTRAN flow solver uses internal logic to determine which
boundary condition to apply. For subsonic inflows, the Inflow/Outflow BC calculates the total pressure and total
temperature on the boundary based on the user-specified pressure, temperature and velocities. Using isentropic
relationships, the correct static pressure and static temperature are set on the boundary. Velocity magnitude is
determined by extrapolation from the interior while velocity direction is based on the original direction set by the
user.

For supersonic inflows, the Inflow/Outflow BC uses the static temperature, static pressure and other variables as
specified by the user. For subsonic outflows, the Inflow/Outflow BC behaves as the Fixed P Exit BC. The static
pressure set by the user is maintained on the boundary while other variables are extrapolated from the interior.
For supersonic outflows, the Inflow/Outflow BC uses the same approach as the Extrapolated Exit BC where all
variables are extrapolated from the interior to the exit face.

Note The Inflow/Outflow BC is the most general boundary condition and can be used in the majority of
applications.

For reacting flows or mixtures, the user specifies the mixture at the inflow/outflow boundary, and the chemical
composition is held constant during the simulation. The mixture name can be specified by either by selecting one
of the available mixtures in the property manager or by creating a new mixture by clicking on the Define button.

Wall BC Conditions - Flow Module


In most cases, the flow velocity relative to the wall is zero; this is the no-slip condition. Thus, u = v = w = 0 at walls.
Only in very rarified gases can there be a net translational velocity of the fluid at the wall itself. CFD-FASTRAN does
not treat those circumstances.

There are multiple possible conditions for temperature, or more specifically for the flow of heat, at walls.

Heat Transfer
Condition Description
Adiabatic The Wall/Adiabatic BC is the default boundary condition. This option sets the surface heat flux
to zero. For most flows, one can assume that the structure temperature and flow temperature
eventually equilibrate, in which case there is no flow of heat in either direction. Adiabatic is then
a reasonable treatment. Note that q and thus hc (heat transfer coefficient) is identically zero if
one assumes adiabatic walls. Thus, this is not an appropriate assumption if one is interested in
viscous heating or peak heating in hypersonic flows.

179
CFD-FASTRAN V2014.0 User Manual

Isothermal The Isothermal Wall BC requires the user to specify a constant wall temperature. This value will
be used for each point on the surface. For high-speed flows in wind tunnels, the tests are so
short-lived that the structure does not have time to heat up. In these types of cases, it is
reasonable to set the wall temperature to room temperature.

Specified Heat The Heat Flux Wall BC requires the user to set a constant heat flux to the wall. Again, this value
Flux will be used for each point on the surface. The fluid temperature at the wall will be calculated.

Radiative The Radiative wall BC allows for radiation heat flux at the wall according to the Stefan-
Boltzmann Law. Thus, the conditions for q at the wall are a balance between conduction to the
wall, and radiation from it, in the grid cell closest to the wall.

Surface Reactions
Surface reactions may occur in reacting flows. To define a surface reaction, the Chemistry module must be
activated. On the Chem page under the BC tab, the user must activate Surface Reactions and must specify a
surface reaction name by selecting it from the drop-down list provided. If no reactions are available, the user must
create a new one by clicking on the Define button.

Surface reactions can be either one of two types: Non-catalytic (sticking) or Catalytic (fully).

Sticking Coefficient Approach (Non-Catalytic)


2
This method calculates the rate of the transfer of species A (kg/m /s) to the surface as

where

Ap = pre-exponential constant
n = temperature exponent
Ea/R = activation temperature
Tw = wall temperature
MA = molecular weight of the precursor species A
R = universal gas constant
YA,W = mass fraction of species A at the wall.

You must provide Ap, Ea/R, and n. For more details please refer to the Wall Boundary Condition topic. Please note
that sticking surface reactions types are irreversible.

180
Setting Up a Model

Fully Catalytic Surface Reactions


After launching the surface reaction manager and creating a reaction mechanism, when the user specifies the
reaction type to be Fully catalytic, the panel shown in Figure 3-23 appears. In this reaction type the user specifies a
set of species at the wall with their mass fractions. The sum of the mass fractions must be equal to 1.

Figure 3-23. (Fully) catalytic Surface Reaction Mechanism Specification

Aeroelastic Interface Definition


The Aeroelastic wall BC is used for aeroelastic fluid/structure coupling. Upon selecting the Aeroelastic wall option,
a panel appears asking the user to supply an interface patch number. This patch number is treated as a numerical
identifier that should have a counterpart in the structural model. The structural model is built separately from the
fluid model, and is set up separately. At the present time, the structural model is set up using CFD-ACE+ and the
convention is that the BC patch name, on the structural side, should be given as "FASTRAN_PATCH_<number>",
where the number matches the value given on the fluid-side model (i.e. the Aeroelastic Wall BC). Please see
Tutorial 12 for complete information on problem setup for aeroelastic computations.

Moving Walls
CFD-FASTRAN has the capability to handle moving walls in a steady (non-moving) frame of reference, by adding
"wall velocity" terms to the governing equations. The Moving Wall option should be activated only if the user
wants to assign a non-zero velocity to the walls. This boundary condition is not available if the Moving module is
selected.

181
CFD-FASTRAN V2014.0 User Manual

Roughness Characteristics
The wall surface roughness (grain size) can also be specified. Presently, the wall surface roughness is used together
with k-e turbulence model. This option is not available when the Poly Grid module is activated.

Symmetry BC Conditions
The Symmetry boundary condition has no options. Identifying a boundary as a Symmetry-type boundary will cause
the static pressure and static temperature to be extrapolated to the symmetry boundary from the interior. The
velocities are mirrored along the symmetry plane.

Symmetry BCs should be assigned to any boundary planes that are symmetry planes of the fluid space model.
Symmetry planes do not have to be XY, XZ, or YZ planes - the plane can have any orientation.

Overset Type BC Specification


The Overset boundary condition also has no options. This boundary condition is used for multi-domain
Chimera/overset structured grids. The Overset BC specification tells CFD-FASTRAN that flow information must be
interpolated from one grid to another at the selected boundary.

User should identify as Overset, every boundary of a given zone that should interpolate its boundary values from
another mesh or set of meshes. Note that Overset boundaries are actual boundaries of a zone, not internal "hole"
boundaries.

Zonal Interface
No input is required for this boundary condition type, and furthermore users should never convert any BC to
Interface type. CFD-FASTRAN-GUI will examine the computational mesh system closely upon reading a DTF file,
and will automatically find zonal interfaces between zones that abut.

If you see an Interface where one is not expected, or (more common), you see a Wall where you expected to see
an Interface, do not convert the Wall to an Interface. The solver will not accept it. Instead, go back to CFD-GEOM
and determine why CFD-FASTRAN-GUI did not identify the zonal interface as Interface type. The requirement for
Interface type is that all nodes are exactly matched, to machine tolerance (the test involves "=" operator, not a
tolerance). Small tolerance problems may be fixed in CFD-Toolkit using the ’Zone Interface Hash’ function.

The most common reason for Walls where Interfaces were expected, is that a few nodes on either side of the zonal
interface are not exactly matched. Such problems can be created in GEOM when two faces that are supposed to be
identical, are actually constructed from different edges.

Time-Profile BC Specification
The Time Profile boundary condition enables the user to specify a time-dependent total pressure and total
temperature boundary condition. This prescription is appropriate for time-dependent problems involving missile
stage-separation, and rocket firing. The boundary condition models the time-dependent total pressure and
temperature of the gas at the combustor exit. Usually, users include the nozzle expansion in their computational
model.

182
Setting Up a Model

Procedures
The specification of a Time-Profile boundary condition involves two steps:

1. Select the Time Profile boundary condition type for that boundary from the BC type menu. The boundary
must also be tagged with a profile number. This is done by entering that number in the Profile Number
text field that appears below the BC type menu when the Time Profile BC type is selected.
2. Separately, the user must also create an ASCII file with the specific name model.TPBC, where model is
the model basename. The user must supply all the required time-profile data for every boundary
identified as being of the Time Profile type in CFD-FASTRAN-GUI, by entering this data in this ASCII file,
using any appropriate text editor. The individual time profiles in the model.TPBC file are associated
th
with the respective Time Profile boundaries selected in CFD-FASTRAN-GUI such that the m profile in the
model.TPBC file (in order of appearance) is associated with the boundary that is given profile number
m in CFD-FASTRAN-GUI. The format and the contents of the model.TPBC file are described in more
detail below.

The data in the model.TPBC file is interpreted as a piecewise linear function. Thus, users should take care to enter
all of the break-points of a piecewise linear representation of the actual time-profile function in the model.TPBC
file. Furthermore, users should be careful to cover the full range of time associated with the simulation. Data
values are linearly interpolated based on the time.

If BC data is required for a time outside the range given in the data-set, the solver determines the instantaneous
BC data by constant extrapolation from the closest end-point values. Thus, for any time before the first time in a
data-set, the solver uses the boundary values given for the first time, and for any time after the last time in a data-
set, the solver uses the boundary values given for the last time.

Note It is recommended to test your Time Profile boundary condition on a small simple problem, just to check it.
This is especially true if the problem involves multiple Time Profile BCs.

TPBC File Format


One set of data describing the piecewise-linearly varying time profile must be given for the each of the boundaries
that are identified in CFD-FASTRAN-GUI as being of the Time Profile type. It is entirely the responsibility of the user
to ensure that the profile number for each Time Profile boundary is correctly entered in CFD-FASTRAN-GUI so that
the correct correspondence with the data in the model.TPBC file is established.

The specific format of the model.TPBC file is as follows:

number_of_profiles_in_file (n)
maximum_number_of_lines_in_any_profile (mmax)
number_of_lines_in_the_first_profile (m1)
line 1, containing time, u, v, w, p, T, k/n, e/w, Tint, Mixture Number
line 2, containing time, u, v, w, p, T, k/n, e/w, Tint, Mixture Number
...< additional lines >
line m1, containing t, u, v, w, p, T, k/n, e/w, Tint, Mixture Number
number_of_lines_in_the_second_profile (m2)
line 1, containing time, u, v, w, p, T, k/n, e/w, Tint, Mixture Number
line 2, containing time, u, v, w, p, T, k/n, e/w, Tint, Mixture Number
...< additional lines >
line m2, containing time, u, v, w, p, T, k/n, e/w, Tint, Mixture Number

183
CFD-FASTRAN V2014.0 User Manual

number_of_lines_in_the_last_profile (mn)
line 1, containing time, u, v, w, p, T, k/n, e/w, Tint, Mixture Number
line 2, containing time, u, v, w, p, T, k/n, e/w, Tint, Mixture Number
...< additional lines >
line mn, containing time, u, v, w, p, T, k/n, e/w, Tint, Mixture Number

The nomenclature above is as follows: time refers to the instantaneous time at which the flow conditions given on
that line are applied; u, v, and w refer to the Cartesian components of the velocity vector at the boundary; p refers
to the static pressure at the boundary; T refers to the static temperature at the boundary; k refers to the turbulent
kinetic energy in the k-e or k-w turbulence models; n refers to the eddy-viscosity solution variable for the Spalart-
Allmaras turbulence model; e refers to the turbulent dissipation rate in the k-e model; w refers to the specific
turbulent dissipation rate (or the vorticity fluctuation rate) in the k-w model; Tint refers to the internal
temperature (for flows with thermal non-equilibrium), and the Mixture Number is the corresponding number of
the mixture as listed in the DAT file. Users may need to save the DTF file and look at the DAT file to determine this
number.

Note Tint is only applicable if the two-temperature model is being used, and the Mixture Number is only applicable
if the case involves reaction or mixing. If the non-equilibrium model is not activated, Tint may be given the value
0.0. Similarly, if neither mixing nor reaction are activated, the Mixture Number may be given the value 0.0.

TPBC Behavior
Within CFD-FASTRAN-SOLVER, the Time Profile boundary condition is treated as follows. First, the data are linearly
interpolated to the current time. Then, the density and the Mach Number are computed. Then the velocity vector
is re-oriented so that it becomes perpendicular to the current boundary face and pointing into the current
boundary cell (the grid may be moving).

If the inflow Mach Number is less than 1.0, then a total pressure inflow boundary condition is applied. Total
pressure and temperature are fixed, and velocity components are set by upstream extrapolation of the velocity
from the cell center, and adjustment of the flow speed such that the total conditions are satisfied. If the inflow
Mach Number is greater than 1.0, then a regular supersonic inflow boundary condition is applied.

The boundary values for k/n, e/w, Tint, and Mixture Number are treated in the regular manner for passively-
transported properties at an inlet.

Wall BCs

Wall Boundary Conditions


The wall boundary conditions for the structured grid flow solver are discussed in this chapter. CFD-FASTRAN
currently supports inviscid and viscous wall boundaries. The viscous wall boundary has four physical sub-options
plus alternatives for reacting and non-reacting flows.

184
Setting Up a Model

Inviscid Wall Boundary Condition


An inviscid wall is determined by the user. The process is to declare a boundary as a wall and then set the flow to
be inviscid. For non-moving walls, the surface is impermeable and the flow velocity must be tangent to the surface,
. For moving walls, the surface wall velocity, is possibly non-zero and . A numerical
distinction can be made between setting values in a "ghost" cell or applying conditions directly on the wall face.
CFD-FASTRAN applies the inviscid wall boundary condition at the wall face. The relationship for the inviscid surface
conditions (which are set on the cell face and not in a ghost cell) is

4.1

where w is wall; c is all; g is grid, and nx, ny, nz are the cell face normal components.

Viscous Wall Boundary Condition


For a viscous surface, the normal and tangential velocities are set to be equal to the grid velocity (or boundary
velocity) at that point. This means for non-moving walls , while for moving walls . These conditions
enforce impermeable conditions for mass and momentum.

CALORICALLY PERFECT GAS

In addition, the viscous wall boundary condition can be separated into conditions for a calorically perfect gas and a
reacting gas. For a calorically perfect gas, there are four subtypes: adiabatic, isothermal, specified heat flux, and
radiative.

The adiabatic condition enforces qw= 0. This relationship can be reduced to Tw-Tc which states that the local wall
temperature is equal to the cell temperature adjacent to the wall. The adiabatic conditions are:

4.2

Wall density, ρw is computed using pw, Tw, and the thermal equation of state.

The isothermal condition enforces Tw=Tuser which states that the user specified wall temperature is used. In this
case,

185
CFD-FASTRAN V2014.0 User Manual

4.3

Wall density, ρw, is computed using pw, Tw, and the thermal equation of state. The specified heat flux condition sets
qw = quser. Note,

4.4

where κ is the thermal conductivity and δ is the projected distance from the wall face centroid to the cell
centroid. Rearranging

4.5

for the κ−ε turbulence model, the Thermal Law of the Wall, (White,1991) is used to determine Tw. The remaining
conditions are

4.6

The last calorically perfect gas wall boundary condition is radiative. The radiative boundary assumes a constant
emissivity, ε, for a given boundary. The heat flux and wall temperature are coupled by the following equation:
where σ is the Stefan-Boltzmann constant, 5.6697 x 10-8(w/m2K4). Using the definition of qw,

4.7

the wall temperature is solved using Newton’s Method. The remaining conditions are as follows:

186
Setting Up a Model

4.8

CHEMICALLY REACTING GAS

For a reacting flow, the wall surface may be non-catalytic or catalytic and the same four boundary sub types are
permitted. The primary equations used to determine the wall conditions are a surface mass balance and a surface
energy balance. The surface mass balance is the conservation of mass applied to an infinitely thin lamina such that

4.9

where is the mass flux of species s at the wall, ρw is the density at the wall and Ys is the species mass fraction.

Note, for a viscous flow, In terms of densities and mass fractions,

4.10

Note, for a non-moving wall/surface. The terms come from surface reaction sets. For a non-catalytic
wall and

4.11

A non-moving, non-catalytic wall has the condition Ys,w=Ys. The species mass flux, , is based on a catalytic wall.
The two surface reaction options are fully catalytic and sticking coefficient (reaction probability). The fully catalytic
approach allows the user to specify Ys,w for each species. Equation 4.10 is used to determine The sticking
coefficient is based on kinetic theory. The velocity of a species near the wall is

4.12

where Mw,s is the molecular weight of species s. After striking the surface, the probability of reaction, αr, is

4.13

The range of αr is 0 to 1. All surface reactions are considered to be irreversible with reaction rates of

4.14

An example reaction set is:

187
CFD-FASTRAN V2014.0 User Manual

and/or

Whether species N or o is used, is based on the availability of moles of each species at the wall. The species used in
Kw,r is also taken to be the lead (or first) species in the reaction equation. Once is calculated for each species,
the new wall mass function is found in an iterative fashion where

4.15
and

The surface energy balance depends on which of the four sub types: adiabatic, isothermal, fixed heat flux, or
radiative, is selected. However, for each sub type, the heat flux to the wall is defined as

4.16

using the surface mass balance

4.17

For a non catalytic wall and the last term on the right is eliminated. A gas in thermal equilibrium has the
condition Tc=Tint, s and the first two terms on the right hand side are combined.

The four subtypes can now be considered. For an adiabatic wall qw = 0 and Equation 4.17 is solved in an iterative
fashion for Tw. The other conditions are pw = p, uw = ug, vw = vg, and ww = wg. The surface mass fractions, Ys,w, are
solved from the surface mass balance. The isothermal condition allows you to specify Tv. The heat flux, qw, is
determined based on the specified Tw and the species mass fractions due to the surface mass balance.

The specified heat flux sets qw. The wall temperature and surface mass fractions are iteratively solved for using Equation 4.15 and Equation 4.17.

The final boundary condition is for radiative boundaries which has the form . Using Equation 4.15 and Equation 4.17, Tw and Ys,w are iteratively determined.

References
1. White F.M., Viscous Fluid Flow 2nd Edition, McGraw-Hill, Boston, MA (1991):483-485.

Initial Conditions (IC)


Initial conditions are just as important as boundary conditions since CFD-FASTRAN simulations are time-marching
simulations. The initial guess must be physically realizable and accurate for time-accurate simulations; this is the

188
Setting Up a Model

full responsibility of the user. For steady-state simulations, non-physically-realizable initial conditions may be
prescribed, but this is done at some risk. If the initial guess is poor enough, e.g. reverse flow direction from the
known final state, then it is possible to cause the time-integration to be numerically unstable.

Users must set an initial condition for each fluid volume in the model. This can be done one at a time, by changing
the IC Setting Mode to Volume-by-Volume, or it can be done for all volumes at once, using the For All Volumes
option (the default).

If you want to assign the same Constant values in all domains, then the For All Volumes setting mode is the easiest
way to do it. If you want to assign different initial conditions to different domains, choose the Volume-by-Volume
option. Grouping may also be helpful for problems with many zones.

Selecting Volumes for IC Specifications


In the Volume-by-Volume setting mode, users may select volumes in either the Viewer Window or the Entity List,
similar to selection of volumes for Volume Conditions. See Chapter 2 on GUI Operation for more information. The
Initial Conditions page is shown in the For All Volumes mode ready to accept Constant Values in Figure 3-24.

Figure 3-24. Initial Conditions Page in Constant Values Mode

189
CFD-FASTRAN V2014.0 User Manual

Figure 3-25. Typical Initial Condition Value Section

Depending on whether the simulation is a "New Run" or a continuation run, the user may indicate one of the
following treatments for setting the initial flow conditions:

• Specify constant values for all zones


• Read data from a DTF file from a previous simulation for all zones
• Reset (re-initialize) the flow conditions for a given zone, while reading restart data for other zones from a
DTF file.

After setting ICs for all volumes in the model, the Apply button must be pressed to save the settings. Reset will
return all of the settings back to the values that the Initial Condition panel had when it was first selected
(effectively undoing any operations).

Note It is important that the Apply operation is performed, otherwise the settings will not be saved.

Starting from Scratch (New Run)


If you are starting from scratch, you must enter some initial conditions that are constant values for each zone. The
data must be entered in metric units.

Flow data (specified on the Flow page under the IC tab) are given in terms of primitive variables, i.e. temperature
instead of total energy, for user convenience. The pressure and temperature are static quantities, not total
quantities.

For mixing or reacting flows, the user must specify the initial mixture for each zone by choosing the name from the
drop-down menu. This setting is performed on the Chem page under the IC tab, if the Chemistry module has been
activated. If no names are listed in the drop-down menu, then a new mixture must be created by clicking on the
Define button.

190
Setting Up a Model

Restarting Simulations
The Previous Solution option is used to initialize each domain to a previously obtained solution. Typically, this
option is used for altering the CFD-FASTRAN flow solver input for moving bodies and/or switching from steady
state runs to transient (unsteady) calculations.

When starting from a previous solution, also called a "restart run,” CFD-FASTRAN 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.

Note CFD-Toolkit offers a mapping utility that can be used to map coarse-grid solutions on to finer grids,
with certain procedures. This technique may be helpful to convergence of steady-state simulations under
some conditions.

• The solution variables must be the same in the restarted simulation as in the original simulation. In other
words, the same Modules must be activated.

Tips and Tricks

Transient Flow Simulations


As discussed above, initial conditions are critical to the results for time-accurate simulations; users must specify, or
create, initial solutions that are (1) physically realizable, and (2) consistent with the boundary conditions.

Often, ESI Customer Support has seen users attempt to instantaneously raise the pressure at a certain boundary at
time zero. Or they may choose a discontinuous initial guess, with different values in one zone as compared to an
adjacent connect zone. If such initial conditions represent physically achievable situations, e.g. a shock tube
problem, then CFD-FASTRAN will predict the correct fluid dynamic response. Otherwise, numerical instability can
occur.

One approach often used for time-accurate simulations is to first create an initial flowfield by simulating a steady-
state problem first, then restarting. If the source of flow unsteadiness is natural, then choose different boundary
conditions where the flow will be steady, then ramp up the boundary conditions over time (see Time Profile
boundary conditions) to the desired values. This will gradually lead the flowfield from a physically realizable initial
state to the desired transient state.

Another approach used for time-accurate simulations is just to deadstart the flowfield (i.e. use constant values). If
initial errors wash out, then after a few cycles, the transient solution is thought to be valid.

191
CFD-FASTRAN V2014.0 User Manual

Steady Flow Simulations


For steady-state flow simulations, the name of the game is accelerating convergence to the steady state.
Obviously, it helps to start close to the final solution. When starting a New Run, the initial conditions may not be
anything close to the final solution. In this situation, numerical instabilities can occur.

One approach people often use to deal with numerical stability (convergence) problems is to start with a "benign"
(easy) problem, obtain the solution, and then restart with the actual boundary conditions. Then the initial guess for
the real problem is much improved and convergence may be helped.

Another approach involves using a coarse grid to obtain a fast and dirty solution, then interpolating this solution
onto a finer grid (using CFD-Toolkit). The coarse-grid solution takes less time to converge, simply because there are
fewer mesh cells; hence the overall turnaround time may be quicker.

Finally, a third approach involves using simpler numerical settings to obtain a converged solution (e.g. first-order
Roe scheme without any limiter), then restarting with the desired numerical settings (e.g. second-order limiter).
The first-order scheme will almost always converge unless the initial guess is very poor, but the second-order
limited schemes are not as robust with respect to non-physical initial guesses.

Simulation Controls (SC)


The Simulation or Solver Control tab contains settings that are related to the numerical time-integration and
spatial discretization, as well as settings that are related to how many cycles to run, and what output to print.

The Solver Control tab is shown in the following figure. The inputs are spread over several tabbed panels, and
denoted as Control, Spatial, Solvers, Relax, and Adv.

Solver Control Panel

192
Setting Up a Model

Time Dependence Recall that CFD-FASTRAN always performs a time-marching procedure to simulate
fluid flow. The user’s choice of Steady or Transient under the Time Dependence
menu has to do with the configuration of the time-integration procedure.
If this procedure converges to a non-changing flowfield, then the flow is steady-
Definitions
state. If this procedure converges to a time-dependent stationary flowfield, then
the flow is called transient.
If steady-state flow is expected, choose the Steady option under Time Dependence.
Steady Option
This will activate local time-stepping, in which each grid cell is advanced at its
largest safe time-step size. This helps the numerical solution reach the steady-state
flowfield more quickly.
Transient Option If transient flow is expected, or you are not sure that the flow will reach a steady-
state, you should choose the Transient option under Time Dependence. This will
ensure that each grid cell is marched with the same time-step size so that the
numerical solution is "time-accurate", a procedure known as global time-stepping.
The time-step size used for Transient calculations may be calculated automatically,
i.e. determined by the grid cell with the most restrictive stability requirement, or it
may be user-prescribed.
In the automatic calculation, the time-step size ∆t is calculated for all grid cells
according to the calculation procedure described below. Then, the smallest ∆t
among all the cells in all of the domains is identified and every grid cell marches the
solution using this smallest value ∆tmin. The numerical stability of the time-marching
procedure is dictated by the grid cell with the most restrictive requirement (i.e.
smallest allowable time-step size).
In order to directly prescribe the time-step size, rather than have it calculated
automatically, the user must enter the CFL number (described below) as a negative
value. The magnitude is then used directly as the time-step size.
If the Transient option is selected, additional input fields for Start Time and End
Time appear. The Start Time gives a reference point for the real time of the flow
that may be useful for experimental comparisons. Zero is the default value. The End
Time is a stopping criterion for the CFD-FASTRAN solver (one of several). CFD-
FASTRAN will advance the flowfield forward in time, until the End Time is surpassed,
and then it will stop.
Time-Step-Size
Calculation Algorithm The time step size is calculated for every grid cell in the following form:

λmax is defined as

and c is the local speed of sound, and V is the speed of the fluid passing through the
particular grid cell under consideration.
The CFL number is the Courant-Fredrichs-Lewy number, and the user is asked to
enter a CFL number at a later time (on the SC tab). The CFL number is related to the
numerical stability and accuracy of the numerical time-integration procedure.
Smaller CFL numbers are required for strongly nonlinear behavior and highly time-

193
CFD-FASTRAN V2014.0 User Manual

accurate calculations. Larger CFL numbers are taken (when the flow will allow),
when the goal is to reach the steady-state quickly but not necessarily through a
time-accurate process.
As discussed above, the time-step size is calculated for each grid cell independently,
depending on the user’s CFL specification and the local flow velocity and speed of
sound. If the flow is Steady, this calculated time-step size is directly used; otherwise,
if the flow is Transient, the time-step size of the grid cell with the smallest value is
used everywhere, unless the user has entered a negative value for CFL (see
discussion above).

Solver Stopping Criteria


Three criteria are provided for stopping the solver: (1) the End Time: if the numerical simulation exceeds the End
Time, the solver will stop; (2) the Number of Cycles; and (3) the Convergence Criteria.

Max Number of Cycles or Time Steps


On the Control panel under the SC tab, the user may indicate a certain number of cycles for the solver not to
exceed. If neither one of the two other criteria described above causes CFD-FASTRAN to terminate the simulation
earlier, this criterion will be used.

In CFD-FASTRAN jargon, a cycle is a single time-step. The terms cycle and time step are interchangeable - "cycle" is
used when the simulation is steady-state, while "time step" is used when the simulation is time-accurate.

One CFD-FASTRAN cycle or time-step consists of visiting (solving) each zone once, also called "sweeping" through
all the zones. Boundary updates, either through zonal interfaces or Chimera/overset couplings, are done once at
the beginning of the cycle or time step.

Convergence Criterion
For steady-state simulations, CFD-FASTRAN provides another technique for automatically terminating a simulation
that is finished - the convergence criterion.

RESIDUALS DEFINITION

On the Iter page of the SC tab, the user may enter a Convergence Criterion. This number is a residual decrease
factor by which the residuals for each variable must drop before the solver will exit. The default value is 0.0001
(four orders of magnitude). All residuals in the residual file (.RSL) must decrease by 0.0001 from their peak values
(not necessarily their initial values) in order for the solver to stop automatically.

194
Setting Up a Model

TIPS FOR ASSESSING CONVERGENCE

A solution residual is a measure of the numerical error in how the solution satisfies a particular governing
equation. Residuals are not normalized; thus higher values may occur in some problems and lower values in
others. In assessing convergence, solution residuals are helpful, but they are not the whole story. In fact, they are
not even the most important measure, only the most convenient.

It is recommended practice that users monitor global quantities of interest, such as forces and moments, or
solution values at selected monitor points, to gauge whether or not the numerical solution has actually stopped
changing. Residual are indicators of the solution, but what you really care about are the results. Monitor the
results directly, not the L2 norm of the governing-equation residuals, to eliminate uncertainty about whether the
results are converged.

Quite often, full convergence is prohibited by small numerical oscillations whose effect is very isolated. The 4-order
default criterion is a quite stringent criterion that is often too stringent in practice (unachievable). Poor grid
quality, use of second-order limiters, and physically realizable transient fluid behaviors may all combine to make
such 4-orders convergence hard to obtain. In practice, we are often satisifed with 2-orders of magnitude
convergence.

MINIMUM RESIDUAL

The Minimum Residual is the value below which the residual is considered converged, regardless of its value. There
are situations where one of the governing equations can have a trivial solution such as zero everywhere. In these
situations, one typically does not want to require that this solution residual be reduced by 4 orders of magnitude
before convergence is declared. If one sets the Minimum Residual to 1.0E-8, for example, then any residual that
falls below this value will be considered converged.

NOTE FOR TRANSIENT FLOWS

Convergence is a steady-state simulation concept. By convergence, we mean that the numerical solution has
stopped changing, thus reaching a converged (non-changing) state. Transient simulations do not converge; there is
no meaning to such a statement.

In numerical simulations of transient flows, the residuals should vary but remain more-or-less at the same level,
not really increasing or decreasing. Since the flowfield is changing, the solution residuals do not necessarily
decrease unless the flowfield becomes steady. Using a smaller time step will generally cause the solution residual
levels to be smaller. However, as discussed above, CFD-FASTRAN does not normalize the solution residuals, so that
actual level does not have any direct physical significance.

Spatial Differencing Schemes


The Spatial Differencing page under the SC tab provides the user with controls to configure how the numerical
fluid convection from one grid cell to another is approximated. This is historically one of the most deeply
researched and difficult areas for CFD, because the advection terms are highly nonlinear, and must be treated very
carefully to approximate the fluid dynamics correctly. For steady-state flows, the main concern is the capturing of
discontinuities (shocks, slip lines, expansions) without overshoots and undershoots that are nonphysical. For
transient flows, the same considerations apply, but in addition, time-accurate propagations of such discontinuities
must be obtained without excessive dissipation or dispersion.

195
CFD-FASTRAN V2014.0 User Manual

CFD-FASTRAN provides two upwind-differencing frameworks (Roe, Van Leer) with a variety of higher-order limiters
to enable users to choose the methods used to calculate the convective (inviscid) term in the transport equations.
Slight differences exist in the options presented to the user, depending on whether or not the user has selected
the Poly Grid module.

Roe or Van Leer Scheme


The default scheme is Roe’s Approximate Riemann solver (i.e. Roe’s Scheme) which is referred to as a Flux
Difference Scheme, FDS. The other upwind scheme is Van Leer’s Flux Vector Splitting (FVS). Both schemes are first-
order schemes, unless higher-order flux limiters are used.

Note The Van Leer scheme is not available for unstructured grids (Poly Grid module) or for reacting flows
(Chemistry module).

Spatial Differencing tab for Structured Solver

Roe’s Scheme is the default upwind scheme. This scheme is also activated by clicking on the Roe’s FDS button.
Roe’s scheme is considered to be non-monotone which means that erroneous extrema may be introduced into the
flow solution, such as expansion shocks. This difficulty can be removed by specifying an Entropy Fix (see below) or
selecting a higher order Flux Limiter (see below). In general, Roe’s scheme is less dissipative than Van Leer’s
scheme in boundary layers. However, for some cases, Roe’s scheme is less robust than Van Leer’s scheme. To
increase the robustness of Roe’s scheme at the penalty of increasing numerical dissipation, the Entropy Fix can be
used (see below).

Van Leer’s Scheme is activated by clicking on the Van-Leer’s FVS button. Van Leer’s scheme is considered to be
monotone which means that a dispersion (numerical oscillation) is unlikely to occur within a flow near a strong
gradient, such as a shock. However, Van Leer’s scheme is more dissipative than Roe’s scheme in boundary and
shear layers which may cause problems if viscous forces or viscous effects are highly important. Van Leer’s
dissipative effects also cause it to be typically more robust then Roe’s scheme. Note, Van Leer’s scheme has been
tailored for transonic flows and should provide better transonic shock structure than Roe’s scheme.

196
Setting Up a Model

ENTROPY FIX FOR ROE’S SCHEME

The Entropy Fix is a requirement of Roe’s first order scheme if supersonic expansions are expected within a flow.
This fix removes the presence of expansion shocks at the sonic point. The appearance of a shock inside an
expansion wave/fan violates the Second Law of Thermodynamics (i.e. entropy). The Entropy Fix is enforced by
altering the eigenvalues, of the system. This fix is represented as

where λmax= V + c, the maximum eigenvalue is equal to the local velocity magnitude plus the local speed of sound.
The value of is taken from the Entropy Fix window.

Note Both the Linear Waves and Non-Linear Waves should have the same specified value . Suggested values of
are 0.1 to 0.3. Typically 0.1 or 0.2 is sufficient for most cases.

The effect of introducing the entropy fix is to increase the numerical dissipation of the scheme. This effect can be
useful for problems that are difficult to converge.

First-Order vs Higher-Order
The default Spatial Accuracy is First Order. However, first order spatial accuracy is not sufficient for most applied
aerodynamic situations. Flow gradients are excessively smeared (numerical dissipation).

First order solutions can be useful if (1) the user is running a particular geometry or flow condition for the first
time; or (2) the quality of the grid is poor such that numerous skewed cells reside in the domain.

It is recommended to run a first-try simulation without activating higher-order limiters, just to check that there are
no other problems related to the choice of CFL number or the grid. Limiters tend to be destabilizing by virtue of
their nonlinear implementations and intentional reduction in numerical dissipation - once the model is converging
well with the base first-order scheme, then try higher-order options.

Flux Limiters - Structured-Grid Models


The Flux Limiters increase the spatial order of the accuracy to second or third order spatial accuracy depending on
the limiter selected.

MIN-MOD

This limiter is the minmod(1,r) limiter and provides up to second-order spatial accuracy.

VAN-LEER

This is the Van-Leer limiter where the slope limiter is defined as

197
CFD-FASTRAN V2014.0 User Manual

where r is the ratio of flow variables in adjoining cells. This limiter provides up to second order spatial accuracy.

OSHER-CHAKRAVARTHY

The Osher-Chakravarthy limiter provides up to third order spatial accuracy.

MUSCL

The MUSCL scheme is denoted as unlimited in the Spatial Differencing window. This scheme is a true second order
upwind scheme at all points in the flow. However, the MUSCL scheme allows severe dispersion around strong flow
gradients. This scheme should not be used when shocks or strong expansion are expected in the flow domain.

Flux Limiters - Unstructured-Mesh Models


The Flux Limiters increase the spatial order of the accuracy to second or third order spatial accuracy depending on
the limiter selected. Currently there are two limiters (namely, Barth and Venkat) available in the polyhedral solver.
An important characteristic of the Barth and the Venkat Limiters is that they are genuinely multi-dimensional
limiters, and can therefore be readily applied for polyhedra and polygons of any shape. In the polyhedral solver,
both of these limiters are used to control the amplitude of the cell-centered gradients of all the primitive variables,
in accordance with the equation

where is the value of the reconstructed primitive variable at the location , is the cell-centered value of
the variable q, is the (unlimited) cell-centered value of the gradient of the variable q, φ is the limiter,
satisfying , and is the location of the cell centroid. The details of the formulation and application of
these limiters are given in the Theory Manual, and in the references contained therein. The specific available
limiter options for the polyhedral solver are as follows:

BARTH

The Barth limiter is the default option for the higher-order schemes. The Barth limiter enforces the monotonicity
condition exactly, and therefore prevents the creation of any new extrema in the reconstructed data. Selecting the
Barth limiter therefore tends to increase the robustness of a calculation, and is preferable to selecting the Venkat
limiter for flows with interacting or strong discontinuities. The Barth limiter is also less diffusive than the Venkat
limiter, and is therefore preferable if the main purpose of the calculation is to obtain the most accurate possible
prediction for the lift or drag on surfaces. This greater accuracy is often achieved even when the convergence of
the results with the Barth limiter are several orders of magnitude worse than the corresponding ones with the
Venkat limiter.

198
Setting Up a Model

VENKAT

The main advantage of the Venkat limiter is that it circumvents the adverse effects on convergence of limiter
cycling in smooth or nearly-uniform regions. As a result, it can provide more convergence and faster convergence
than the Barth Limiter. However, the Venkat limiter allows non-monotonicity in the solution, which is dangerous
and undesirable near strong discontinuities. The Venkat limiter is also slightly more diffusive than the Barth limiter,
and has a slightly higher operation count. The Venkat limiter is preferable to the Barth limiter for flows which are
dominated by low amplitude waves, especially if the interest is in the accuracy of the flow-field away from
bounding surfaces, and in predicting quantities associated with smooth extrema. It is also appropriate for transonic
flows. A disadvantage of the Venkat limiter is that it requires the selection of a "tuning" parameter, εν, that
controls the threshold above which the limiter is activated. This turning parameter is problem-specific and the best
value must be determined by validation studies.

Time-Integration Procedures
The Solver tab under the SC tab allows you to configure the numerical procedures for time-integration of the
system of governing equations, and to set the controlling parameters. These settings are extremely germane to the
memory usage and run time of the solver. As with the Spatial Discretization settings above, the topic of numerical
time-integration procedures is a heavily researched and still hot topic within the CFD community.

Figure 3-28. Solver Control Page in Solver Selection Mode

Explicit vs Implicit
Generally, there are families of time-integration schemes: (1) explicit, and (2) implicit. Explicit schemes do not use
as much memory, but the fluid dynamics dictate the time-step size. The numerical fluid must not progress through
more than a fraction (typically 10%) of a grid cell during any time step to retain numerical stability of the time-
integration procedure. This can severely limit the time-step size for high-speed flows, especially flows with shock
waves, resulting in very long computation times. This stability criterion is known as the CFL (Courant-Friedrichs-
Lewy) criterion (see below for more information). The statemetn that the numerical fluid must not progress
through more than 10% of a given grid cell, is equivalent to saying that the CFL number must not be larger than
0.1.

Fully implicit schemes are inherently stable for linear systems. For real cases, however, there are stability limits to
the time-step size that one may use as regards the numerical stability of the time-integration. Also, furthermore,

199
CFD-FASTRAN V2014.0 User Manual

from the perspective of numerical accuracy, large time-step sizes will produce wrong results for time-accurate
transient flow simulations and, in fact, even for steady-state flows in some cases. Thus, the practical limits for fully
implicit time-integration are CFL numbers around 100 or less.

Numerous schemes exist with some degree of implicitness, and these are in fact the most common and favored
time-marching schemes in use in density-based CFD solvers today. They offer a tradeoff between memory usage
and time-step size, and CFD-FASTRAN has a scheme in this category as well.

Explicit (Multistep Runge-Kutta) Scheme


Selecting the Runge-Kutta scheme will activate an additional field for the user to enter the Number of Stages. See
the Theory manual for more information on this scheme. For 3D applications, the user should not use the Runge-
Kutta scheme due to its explicit nature, because computations will be very expensive due to the small time-step
sizes associated with an explicit scheme.

Implicit Schemes for Structured-Grid Models


Two implicit schemes are available for unstructured-grid models.

POINT IMPLICIT

The Point Implicit scheme requires no additional settings. The maximum CFL for the Point Implicit scheme typically
lies between the maximum CFL for the Runge-Kutta and Fully Implicit schemes. Additionally, the Point Implicit
scheme requires more computer memory than the Runge-Kutta Scheme and less memory than the Fully Implicit
scheme.

Note The Point Implicit Scheme is not time accurate even if the user requests an unsteady solution. Furthermore,
note that the Point Implicit scheme is currently not available with the polyhedral solver.

FULLY IMPLICIT

The Fully Implicit scheme requires the user to specify two additional settings.

First, the number of subiterations must be set. Common values are 10 or 20. CFD-FASTRAN decomposes the
implicit matrix and then iteratively solves the linear set of equations the specified number of times. Strongly
nonlinear problems should use more iterations. It is very common in reacting flows to increase this value to 40 or
50.

Second, the convergence tolerance for the linear equation solver is set. As CFD-FASTRAN iteratively solves the
linear set of equations, it tracks the residual. If this residual becomes less than the specified tolerance, then CFD-
FASTRAN exits the subiteration process.

200
Setting Up a Model

Implicit Schemes for Unstructured-Grid Models - LU-SGS


The LU-SGS Solver requires the user to specify two parameters: (i) the maximum number of inner sweeps of the
matrix solver (and this number is also often called the maximum number of subiterations); and, (ii) the maximum
residual ratio of the matrix solver (this number is also often called the maximum convergence tolerance). The
maximum residual ratio is specified in terms of the desired ratio of the final residuals for the last two successive
sweeps in the matrix solver.

The two control parameters for the LU-SGS Solver are used in the following manner. The LU-SGS solver performs
the first inner sweep and evaluates the final residual. The LU-SGS solver performs another sweep, then evaluates
the ratio of the final residual of the current sweep relative to the final residual of the previous sweep, and then
compares this ratio to the maximum residual ratio target specified by the user.

This process is repeated up to the maximum number of inner sweeps specified by the user, unless the residual
ratio is found to meet or fall below the maximum residual ratio specified by the user. If this happens, the inner
sweep sequence is terminated, even if the number of sweeps executed by then is less than the maximum number
specified by the user. The only exception to this is if the user selects a value of the residual ratio that is equal to or
greater than 1. In that case, only one inner sweep is performed, regardless of the maximum number of inner
sweeps specified by the user.

Suitable ranges of values for the two parameters of the LU-SGS solver are as follows: (i) the maximum number of
inner sweeps should be between 5 and 20; and, (ii) the maximum residual ratio should be between 0.1 and 0.001.
Decreasing the value of the maximum residual ratio will increase the number of inner sweeps that are required to
satisfy this criterion on its own, while increasing the maximum number of inner sweeps will increase the number of
sweeps that can be used to satisfy the required convergence target. Increasing the number of inner sweeps
unnecessarily will increase the total run-time, while decreasing the number of sweeps will decrease the
convergence and the overall accuracy that can be achieved in the overall solution.

LU-SGS Solvers belong to the family of implicit, approximate-factorization, matrix-free solution methods. The main
advantages of the specific implementation in CFD-FASTRAN compared to the standard LU-SGS Solver are improved
robustness and faster convergence rates (for both viscous and inviscid flows). The main advantages of the LU-SGS
Solver in CFD-FASTRAN compared to the fully-implicit solver in CFD-FASTRAN are reduced memory requirements
and faster execution, at the expense of slightly slower convergence rates and slightly reduced robustness and
stability. The LU-SGS Solver should be considered the method of choice for all modes of operation of the
polyhedral solver, especially for flows that have no special destabilizing influences, and for computations that are
restricted by the availability of memory.

Time-Step Size Specification (Relax)


On the Relax page of the SC panel, the user will find the settings that control the time-step size. These settings
accommodate both transient simulations and steady-state simulations. For steady-state simulations, it is common
practice to start from a non-physically-realizable initial condition. During the first few cycles, as the flowfield
rapidly develops, there are very strong nonlinearities that can drive the time-marching algorithm unstable. To
handle this situation, CFD-FASTRAN provides the user with a way to start with a small CFL number and ramp it up
over some number of cycles to a final value. In addition, CFD-FASTRAN provides an option to iterate on the
linearization of the system of equations, again to help handle nonlinear behaviors.

201
CFD-FASTRAN V2014.0 User Manual

Initial CFL and Final CFL


To aid in starting a flow simulation from an initial condition that is not physically realizable, or an initial condition
that is inconsistent with the boundary conditions, the user is given the option to ramp up the CFL number as the
simulation progresses. If the initial condition is nonphysical, quite small CFL numbers (0.001 or 0.0001) may be
required to handle the strong nonlinearities that occur during the first few cycles or time steps. This is the case for
either explicit or implicit time-integration schemes, although generally one can try to start with 0.1 for implicit
schemes.

If the solution is restarted from a physically realizable solution, and the boundary conditions are consistent with
that initial condition, then it should be possible to use a CFL number that is ’typical’ of the time-integration scheme
being used. Explicit schemes typically have CFL numbers on the order of 1 or less while implicit schemes can have
CFL number on the order of 10’s or 100’s.

Values for the Final CFL may be on the order of 10’s or 100’s for an implicit scheme. Practically, a value of 100 is
not unreasonable. For an explicit scheme, 0.25 is probably the largest value that should be considered. If
convergence problems are encountered, then the Final CFL value should be decreased. The Final CFL should be
greater than or equal to the Initial CFL.

CFL Ramping Iterations


If the user specifies different Initial CFL and Final CFL numbers, then they must enter the number of CFL Ramping
Iterations. For steady-state simulations, CFD-FASTRAN linearly varies the CFL number from the Initial CFL to the
Final CFL based on the number of Cycle

For transient simulations, the CFL is ramped quadratically for smoother variation in the time-step size, so that the
time-accuracy of the integration is improved.

202
Setting Up a Model

Number of Iterations
The Number of Iterations is a repetition factor that controls how many ’solves’ are done on each zone during a
sweep over all zones. One iteration involves setting boundary conditions for a zone, calculating the fluxes for that
zone, and updating the flow variables of the zone. It is possible to use more than one iteration per zone during a
cycle; in fact, one may specify a different number of iterations for different zones, using the DAT file.

Note that the CFD-FASTRAN-GUI will write out the same number for every zone into the DAT file. If you want to
override the value for individual zones, you do so by manually editing the DAT file.

Transient Simulation Guidelines


For transient flow simulations, the Iterations field must be set to 1.

The CFL number fields, Initial CFL and Final CFL, do not have to be set to the same value. As discussed above, if the
Initial CFL and Final CFL number are different, the CFL number will be ramped quadratically. The time-step size is
automatically calculated based on the CFL number. The smallest time-step size for any grid cell in the model
dictates the global time-step size for every grid cell.

If these Initial CFL and Final CFL values are negative, then they will not be interpreted as CFL numbers, but rather
as direct specifications for the time-step size, e.g. -1E-08 will be interpreted as time-step size of 1E-08.

Users should understand that in density-based flow solvers, the numerical fluid model captures the propagation of
pressure waves at the actual acoustic plus convective speeds that they occur. Thus, time-step sizes for transient
simulations will typically start at 1E-08 s and may increase to as much as 1E-04 s (highly dependent on the grid
resolution and the actual flow speeds involved). As a rule of thumb, one would need to perform 10,000 time steps
to simulate 1 second of real time.

Steady-State Simulation Guidelines


For steady flow simulations, the Iterations field can be 5 or 10 in the event that one zone is having trouble
converging; however, typically and usually, the user should use the default value of 1.

As discussed above, if the Initial CFL and Final CFL number are different, the CFL number will be ramped linearly.
The time-step size is automatically calculated based on the CFL number. Each grid cell is marched at a different
time-step size, according to the local flow velocity. It is common practice to start with CFL numbers of 0.01
(sometimes 0.001, sometimes 0.1), and to finish with CFL numbers of 10 or 100, for implicit schemes. These are
highly problem-dependent recommendations, however, and users should not feel uncomfortable changing these
values.

The typical values for ramping iterations is 100.

Output Panel (Out)


The Output Panel is used to configure force and moment integrations and other simulation-related outputs.

203
CFD-FASTRAN V2014.0 User Manual

Frequency of Solver Outputs

Output Cycles
The Output Cycles parameter controls how often various output files are updated. A negative value (e.g. -50) tells
the solver that you would like the plotting files to be overwritten each time output is generated, while a positive
number (e.g., +50) tells the solver that you would like a new file to be generated with the time step number
extension (e.g., model.DTF.0050).

Figure 3-30. Output tab on the Output panel.

Restart Cycles
The Restart Cycles parameter regulates how often CFD-FASTRAN solver writes the solution restart data to the DTF
file. Restart data and solution data are the same thing.

Motion Output Cycles


The Motion Output Cycles parameter controls how often 6DOF output files (model.KINA.*, model.KINB.*,
model.DYNA.*, model.DYNB.*) are written. This option will only appear if the Moving module has been activated.

Chimera Stencil Search Cycles


The Chimera Stencil Search Cycles parameter controls the Chimera hole cutting frequency. For steady simulations,
hole cutting is done only once, and this parameter is ignored by the solver. For transient simulations, the value can
be increased from 1 in some situations, to reduce the run time. The hole cutting operation is computationally
expensive. This option will only appear if the Chimera module has been activated.
If the time-step size is small enough such that hole-cutting boundaries are moving only a fraction of a grid cell each
time step, and these overlap region are far away from the region of interest, then it is acceptable to increase this
value from 1 to 5 or 10. Then, every 5th or 10th time step, the Chimera hole-cutting and interpolation procedure
will be performed. As long as the grids have not moved more than 1 grid cell, this is acceptable and saves cpu time.

204
Setting Up a Model

Monitor Points
The Print tab on the Output panel allows you to activate monitor points and to activate the Aero. Force Summary
to set up Aero Forces by section (see Figure 3-31).

Figure 3-31. Output Control Page in Print Options Mode

The Monitor Points option allows the user to write out primary flow variables (velocities, pressures and
temperatures) at any specified (I,J,K) location within in the computational grid. For each specified monitor point, a
unique file named model.MON.000N is created, where N is the index associated with the monitor point, when the
user has created multiple monitor points. Monitor Points are not yet available for the Poly Grid option (e.g. for
unstructured meshes).
When the user checks the Monitor Points check box, the user is prompted for the number of monitor points. After
selecting the number of points, the user clicks on OK and then specifies a zone number and the I, J and K indices of
a node within that zone (Figure 3-32).

Figure 3-32. Monitor points output.

Aero Force Summaries


When the user activates the Aero Force Summary check box, a new dialog box appears for the user to enter
inputs. This dialog box allows the users to configure the output of aerodynamic forces and moments in a
customized fashion. The output requested by the user though this panel is written to model.FOR* files as the
solver runs.

The axes system and the domains to be included for integrating aero-dynamic forces and moments, are set by the
user. It is possible to calculate and output the aerodynamic force on any single or set of domains selected by the

205
CFD-FASTRAN V2014.0 User Manual

user. The forces and moments can be either reported in dimensional form or in non-dimensional form
(aerodynamic coefficients). This section describes how to set the force/moments output options.

ADD / DELETE FORCES

In this panel (see Figure 3-33) the user assigns a name to the customized forces/moments output. The default
names are force1, force2, etc. Currently, the default names cannot be changed by users For each force, output files
named model.FOR.0001, model.FOR.0002 etc., will be created. These files will contain the requested forces and
moments.

Figure 3-33. Aerodynamic force and moment output.

DEFINE AXIS SYSTEM

In this panel (see Figure 3-34) the user defines the axis system for outputting the aerodynamic forces and
moments. The user can pick either the inertial axis system or the body-fixed axis system of any of the motion
models present in the model, or he may define a completely new axis system. The new axis system is defined by
clicking on "Edit" button. A panel shown in Figure 3-35 appears where the origin and the orientation of the new
axis system with respect to the inertial axis system is defined. The orientation is defined by specifying the three
Eulerian angles (z-rotation, y-rotation and x-rotation) with respect to the inertial axis system. The new axis system
can either remain fixed to the inertial axis system or move with the axis system of motion models. The axis system
is selected by highlighting the entries showing the axis system name with the left mouse button. Clicking Accept
completes the step of defining the new axis system.

SPECIFY CONTRIBUTING ZONES

Here the user selects the domains to be included for the calculating Aerodynamic forces. Thus, the aerodynamic
force on a single domain of a multi-domain grid can be calculated using this option.

206
Setting Up a Model

SPECIFY UNITS AND SYMMETRIES

The forces can be reported in dimensional and non-dimensional form. If the user chooses to report the forces in
non-dimensional form then the values of reference length, reference area and pressure are required. The forces
and moments are converted into force and moment coefficients according to the following relations:

If the current model is symmetric or axisymmetric, specify the Symmetry configuration as the last input on the
Aero Forces dialog. If symmetric, this modifies the force output by reflecting the force vector about the symmetry
plane or rotating the force vector about the axis of symmetry. Currently only the x axis can be the axis of
symmetry.

207
CFD-FASTRAN V2014.0 User Manual

Figure 3-34. Edit Aerodynamic Force and Moment Output.

208
Setting Up a Model

Figure 3-35. Define axis system.

Aero Forces By Section


When the user activates the Aero. Force by Section checkbox, a new dialog for editing inputs required for
specifying Aero. Force By Section appears. This dialog allows the users to output the aerodynamic forces and
moments in a customized fashion. The output requested by the user though this panel is stored in model.AFS*
files. The axis system and the sections (domain number, imax, imin, jmin, jmax, kmin and kmax indices) to be included for
integrating aerodynamic forces and moments, are set by the user. It is required that all the sections are wall
boundaries. It is possible to calculate and output the aerodynamic force on any wall surface. The forces and
moments can be either reported in dimensional form or in non-dimensional form (aerodynamic coefficients). This
section describes how to set the force/moments output options.

209
CFD-FASTRAN V2014.0 User Manual

Note This option is available only for structured grids.

ADD / DELETE SECTIONS

In this panel (see Figure 3-36) the user assigns a name to the customized forces/moments output. The default
names are section1, section2, etc. Currently, the default names cannot be changed by users. Corresponding to
each force, output files named model.AFS.0001, model.AFS.0002 etc., will be created which contain the requested
forces and moments.

Figure 3-36. Aerodynamic force and moment output.

DEFINE AXIS SYSTEM

In this panel (see Figure 3-37) the user defines the axis system for outputting the aerodynamic forces and
moments. The user can pick either the inertial axis system or the body-fixed axis system of any motion models
present in the model or define a completely new axis system. The new axis system is defined by clicking on Edit
button. A panel shown in Figure 3-38 appears where the origin and the orientation of the new axis system with
respect to the inertial axis system is defined. The orientation is defined by specifying the three Eulerian angles (z-
rotation, y-rotation and x-rotation) with respect to the inertial axis system. The new axis system can either remain
fixed to the inertial axis system or move with the axis system of motion models. The axis system is selected by
highlighting the entries showing the axis system name with the left mouse button. Clicking Accept completes the
step of defining the new axis system.

210
Setting Up a Model

SPECIFY CONTRIBUTING SECTIONS/PATCHES

Here the user enters a list of section to be included for the calculating Aerodynamic forces. Each section is defined
by specifying Zone number, imin, imax, jmin, jmax, kmin, and kmax indices. Note that section must lie on a wall
boundary. Thus, the aerodynamic force on any surface/patch can be computed.

SPECIFY UNITS AND SYMMETRIES

The forces can be reported in dimensional and non-dimensional form. If the user chooses to report the forces in
non-dimensional form then the values of reference length, reference area and pressure are required. The forces
and moments are converted into force and moment coefficients according to the following relations:

The pressure integration is done with respect to the reference pressure which the user may enter.

Finally, the user may specify Symmetry conditions of the model. The force output will be modified by reflecting the
force vector about the symmetry plane or rotating the force vector about the axis of symmetry. Currently only the
x axis can be the axis of symmetry.

211
CFD-FASTRAN V2014.0 User Manual

Figure 3-37. Edit aerodynamic force and moment output.

212
Setting Up a Model

Figure 3-38. Define axis system

213
Chapter 15. Solver Usage

Parallel Processing

Introduction
Running a simulation on a single computer processor is serial processing. Running the same simulation with
multiple processors working concurrently, is parallel processing.

Parallel Processing - Introduction


Categories of Parallel Computers - SMP vs DMP
Parallel Processing - General Process

Parallel processing 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. That is the basic notion of parallel processing. Since each individual machine
has only modest requirements compared to super computers, they cost less and enable the user to perform large
simulations on relatively inexpensive hardware.

Large problems benefit most from parallel processing. Large can refer to just the number of cells (hundreds of
thousands to tens of millions) and computational complexity (detailed finite rate chemical kinetics, DES, etc...).
Either way, spreading the computational load across multiple processors improves 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. The communication path between processes
in a parallel job is also important. Parallel processing of small problems usually creates too much communication
relative to the computational loads. A multiple processor machine with shared memory will have the fastest
communications. Distributed processors need a fast network (100 Megabit/sec or faster) to achieve practical
speedup in turn-around time.

The following sections provide some background and basic terminology associated with parallel processing, to help
you get the most out of parallel computations with CFD-FASTRAN.

Categories of Parallel Computers - SMP vs DMP

Shared-Memory, Distributed-Mmory
There are two types of parallel computers. If there is one operating system managing all the nodes in the parallel
computer, it is called a shared-memory parallel machine (SMP, also derived from the phrase 'symmetric
multiprocessor’). The operating system takes responsibility for assigning separate processes, or separate threads
within a single process, to different processors.

Dual- and quad-processor workstations such as Itanium or Xeon are small SMP computers. So are big systems like
the 64 or 128-node HP Integrity Superdome server. In an SMP machine, communication between processors
happens without a conventional network protocol. One processor writes to a certain memory location, and
another pro¬cessor reads from it. The network is the connection framework between processors and memory. On

215
CFD-FASTRAN V2014.0 User Manual

newer AMD Opteron systems, the processor and memory may be physically on the same chip (so-called "dual
core"); in this design, the communication bandwidth can be very high.

If the machines are independent workstations linked together by a bunch of cables and a fast Gigabit switch, for
example, then each machine has their own operating system and their own memory, and the collection of
machines, the parallel computer, is termed distributed. Linux clusters are good examples of distributed-memory
parallel computers (sometimes called DMP).

Relative Benefits of Each Type


If the expectation is that many CFD-FASTRAN simulations will be running simultaneously, either because there are
many users or because parametric studies will be performed often, then this workload is better suited to an SMP
machine. Dozens of CFD-GEOM, CFD-VIEW, and CFD-FASTRAN processes can run at the same time, without any
need for job scheduling software. An SMP machine feels like a single very large, powerful computer. If any user
needs to run a serial application with a large memory requirement, e.g. CFD-VisCART or dtf_decompose, then an
SMP machine is again a better choice.

Heavy day-to-day work is not easily managed on a distributed memory cluster without purchase of additional
cluster-management software and a willingness to share, because there is no single node capable of handling
many processes or very large processes. It feels like several machines tied together. However, distributed parallel
clusters are much cheaper. Thus, if the resource will be dedicated solely to big parallel simulations and batch
processing, in a workplace where users have powerful desktop workstations and log in remotely to the cluster to
launch jobs, then a distributed cluster makes a lot of sense.

CFD-FASTRAN Assumes a DMP Model of the Parallel Computer


CFD-FASTRAN does not presently offer multitasking (thread-based parallelism) within a single process, something
SMP machines can support but DMP machines cannot. On either type of computer, the approach we take involves
multiple processes running concurrently. One may expect somewhat better performance on an SMP parallel
computer, due to faster interconnection hardware.

Parallel Processing - General Process


Parallel processing involves a master process and one or more worker processes on a single/multiple processor
machine and/or across multiple machines. As part of installation setup, you will typically perform the following
steps to enable parallel processing:

1. Acquire and install parallel license features


2. Install applications across compute nodes to meet parallel processing requirements
3. Enable a communication environment to meet parallel processing requirements
In addition, you will also partition the grid into 'n' number of zones equal to the number of parallel processes being
used.

Nomenclature
Node any computer in the cluster

216
Solver Usage

the “head node” or the one from which the user is logged in and launching the jobs there
Master
can be only one master node.
Remote/Worker any remote node that the computation may use during parallel execution

Parallel Processing Theory


Parallel processing involves a master process and one or more worker processes on a single/multiple processor
machine and/or across multiple machines. This involves:

Domain Decomposition
Assigning of Zones to Processors
Communication across Processors

Domain Decomposition

CFD-FASTRAN Assigns Zones to Processes


In CFD-FASTRAN, both structured and polyhedral flow solvers in CFD-FASTRAN execute parallel cases with the
same general strategy known as domain decomposition. In domain decomposition, the programmer breaks up the
problem to be solved according to the spatial component of the computations, in this case the computational
mesh. The parallelism is at the zone level. We put some zones on processor 1, some other zones on processor 2,
etc. The computations within each zone are largely independent and thus can be done in parallel. Therefore, a
model must have multiple zones in order to run parallel. Consequently, one cannot possibly use more processors
than there are zones in the model. There is a data exchange and hence synchronization point, at the end of every
time step. This is the updating of zonal interfaces and Chimera overset and hole boundaries.

Domain decomposition by assignment of zones to processes is the only form of parallelism currently available in
CFD-FASTRAN for both structured-mesh and unstructured-mesh parallel cases. The only communication
requirement between processors is the updating of zonal (patch) interfaces and Chimera interfaces, which occurs
once per cycle or time step.

The domain decomposition of structured mesh cases is carried out by the par_util utility which calls the dtf_cleave
utility internally.

For unstructured mesh cases, the dtf_decompose utility is used to partition the domain into as many zones as the
required number of processors. Then, each processor is assigned exactly one zone.

CFD-ACE+ Assigns Cells to Processes


By comparison, CFD-ACE+ parallelizes the problem at a slightly lower-level than the zone level used by CFD-
FASTRAN. CFD-ACE+ is a single-zone solver. The dtf_decompose utility merges all zones into a massive 'virtual zone’
which is then split up into separate pieces. This enables perfect load balancing, but the communication between
processors happens at a lower level, during the linear equation solver for each variable being solved. Thus

217
CFD-FASTRAN V2014.0 User Manual

communication is more frequent in CFD-ACE+ than in CFD-FASTRAN. What is gained by having a perfect load
balance is partially offset by the increased communications.

Assignment of Zones to Processors


In CFD-FASTRAN, the assignment of zones can be done directly from the appropriate panels in CFD-FASTRAN-GUI.
This setup is explained in the Parallel Setup section.

Communication across Processors


In CFD-FASTRAN, the method chosen for communication between processors depend on the type of solver
(structured mesh solver vs polyhedral/unstructured mesh solver) used.

Structured-mesh cases make use of a parallel framework known as MDICE (Multi-Disciplinary Interactive
Computing Environment). MDICE is a set of applications for managing other programs that need to communicate
to each other. Furthermore, it includes a library and programming interface that CFD solvers, and other
applications, may access to enable their applications to "talk" to others for useful purposes, such as a coupled CFD-
structural simulation. MDICE is comparable to CORBA, not MPI.

Unstructured-mesh cases make use MPI for communication between processors. MPI stands for Message-Passing
Interface. It is a standard protocol for inter-application communication. It is not a library or a piece of software.
Applications that use MPI must run in an environment that enables the communication to take place. From version
2010.0, we use HP-MPI. All necessary software for HP-MPI is included in the UTILS package. So, users don’t have to
install any additional software. This is the case for both Linux and Windows platforms. HP-MPI version for
Windows platforms is 1.01.00.00 and 2.03.01.00 for all other platforms.

All necessary information for parallel simulations in CFD-FASTRAN is setup using CFD-FASTRAN-GUI or GUI
scripting. This setup is used by CFD-FASTRAN-SOLVER to automatically start all necessary environment variables
and processes required to run the case in parallel.

Parallel Processing Configuration Requirements


CFD-FASTRAN Version 2010.0 does not itself require any special installation or configuration procedures for
running parallel simulations. There are still some System Administration prerequisites that need to be met, and
these are described below.

For normal serial simulations, users need to set the ESI_HOME environment variable and put
$ESI_HOME/2010.0/UTILS/bin at the front of their PATH (existing 2009 software installed side-by-side with 2010.0
software can be launched using the -runver option).

Parallel Environment Setup


Passwordless SSH Setup
Platform-MPI Setup - (Windows Platforms)

218
Solver Usage

Parallel Environment Setup


To prepare a compute cluster for parallel CFD-FASTRAN simulations, a user or System Administrator must be aware
of the following requirements:

1. Users should have a CFD-PARALLEL license available. This can be verified by looking at the license file,
which should have this feature.
2. The CFD-FASTRAN software package should be installed in a shared location accessible by NFS from each
node in the cluster, or, for non-NFS clusters, should be installed in a common location (for example,
/usr/local/ESI_Software on each machine).
3. NFS is required for unstructured-mesh parallel cases.
4. Users should set the required environment variables in all nodes.
i. ESI_HOME > Installation directory (/usr/local/ESI_Software)
ii. PATH > $ESI_HOME/2010.0/UTILS/bin:$PATH
iii. MDICEDIR > %ESI_HOME%\2010.0\FASTRAN_SOLVER\data (for Window platforms)
5. Users should have the same login account (that is, the same user name) on each machine in the cluster.
6. A user should be able to access every other machine in the cluster without entering a password, that is,
using ssh. For Windows, users may have to install additional software such as cygwin’s openssh to
establish this.
7. For unstructured-mesh cases in Windows platforms, an additional one-time setup for IBM-MPI is needed.

PASSWORD-LESS RSH/SSH SETUP

SSH
Password-less ssh relies on users performing certain steps to enable ssh access. These steps are as follows.
Consider two machines, fastran-00 and fastran-01.

1. Run ssh-keygen (often with the option -t dsa) and answer the questions. This generates a directory called
.ssh in the user's home directory, and furthermore produces files named authorized_keys and id_dsa.pub.
Do this step on both fastran-00 and fastran-01.
2. Make sure the .ssh directory has permissions 600.
3. Inside the .ssh directory, add the generated key(s) into the authorized_keys file:
fastran-00% cat id_dsa.pub >> authorized_keys

4. Copy the id_dsa.pub file on fastran-00 over to fastran-01, by whatever means you choose (scp, for
example). Rename it to id_dsa.pub.fastran-00. Now, inside the .ssh directory on fastran-01, append this
public key to the authorized_keys file:
fastran-01% cat id_dsa.pub.fastran-00 >> authorized_keys

5. Repeat on the other machine. Now you should have both keys (from each machine) into the authorized
keys file.
6. Finally, use ssh to login from fastran-00 to fastran-01, and vice-versa, and also from fastran-00 to itself.
The first time you do this process, ssh will prompt for username and password, and add the connecting
host to the list of known hosts (in the known_hosts file). Subsequently, it will not prompt for a password.

219
CFD-FASTRAN V2014.0 User Manual

RSH

Users can choose to use rsh if needed. Password-less rsh relies on either the user's .rhosts file or /etc/hosts.equiv
file. The user's .rhosts file must have permissions 600 (read/write only by user). The syntax of the .rhosts file is
very simple: one host per line, optionally followed by names of users who are allowed to connect without entering
a password. Sometimes it is necessary to use the fully qualified domain name.

The /etc/hosts.equiv file is a list of hosts allowed password-less access to the current host; it applies to all users.

PASSWORD-LESS ACCESS VERIFICATION

Assume the cluster is composed of only two nodes, fastran-00 and fastran-01, and the user's name is bob. If rsh is
set up properly, you should be able execute the following command:

bob@fastran-00% rsh fastran-01 echo "Hi"

The syntax for ssh is slightly different:

bob@fastran-00% ssh bob@fastran-01 echo "Hi"

.BASHRC OR .CSHRC FILE SHOULD NOT PRINT ANY OUTPUT

Also, make sure your .cshrc (or .tcshrc or .bashrc file, whatever your shell uses) does not produce any output. rsh
will falsely return an error status if output occurs. This is standard Posix behavior. Any output you need to produce
during creation of a terminal window, should be done inside the .login file, not your shell’s initialization file.

CORRECT PERMISSIONS ON WORKING DIRECTORIES

Next, you want to verify that the typical working directories can be found and that a process launched by rsh or ssh
has permissions to work there:

bob@fastran-00% rsh fastran-01 ls /net/home/bob/projects


bob@fastran-00% rsh fastran-01 touch /net/home/bob/projects/test_file

If either one of these commands returns an error, then either the /home partition is not exported from fastran-01,
or the directory has permissions set too restrictively. Try ’chmod 755 <name of directory>’ on the working
directory to change its permissions to read/write/execute for the owner, and read/execute for group/other users.

It is possible that you may need to perform the chmod command recursively (-R option) to give permission for the
DTF files to be read as well. The requirement for CFD-FASTRAN is that rsh or ssh should be able to read and write
to the working directory and any subdirectories.

Furthermore, CFD-FASTRAN requires that any files opened (created) during a parallel run have read/write
permissions, since the solver may close them and later attempt to reopen them to append more output. So umask
values (default permissions on created files) are important. Set umask 000 inside your shell’s initialization file,
.bashrc or .tcshrc. This will enable full read/write/execute permission of any newly created files, so that
permissions do not give you any further problems. However, you may want to consult your system administrator
first.

220
Solver Usage

Platform-MPI Setup - Additional requirements (Windows only)

Install and start HP-MPI remote launch service (required for multi-mode
parallel)
HP-MPI is made available to users through the UTILS package (2010.0/UTILS/hpmpi-1.01.00.00). For local parallel
(on a single machine), there is nothing that the user needs to do. For parallel runs across multiple machines (e.g. a
cluster), HP-MPI remote launch service must be installed and started.

To install and start HP-MPI remote launch service, start a command window and run the following commands:

C:\> %ESI_HOME%\UTILS_2014.0\platform-09.01.02.01\sbin\pcmpiwin32service.exe –i
C:\> %ESI_HOME%\UTILS_2014.0\hpmpi-09.01.02.01\sbin\pcmpiwin32service.exe –start

Run these commands only once per machine. Refer below if you made a mistake and need to reinstall the service.

For Windows XP Systems


To allow for running on multiple nodes with HP-MPI on Windows XP, one additional step must be taken. There are
two ways to set this option (Method 1 recommended):

1. My Computer > Tools > Folder Options > View tab


Uncheck "Use simple file sharing (Recommended)"
2. Click Start > Run > Type "regedit"
Navigate to : HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa
Double-click the key forceguest
Set the value to '0' and click OK.

3. You may have to restart your machine after applying this setting.

Verification
1. Start Microsoft windows services. (Start > Run “services.msc”)
2. Locate the IBM Platform MPI SMPID service (Display name: IBM Platform MPI Remote Launch)
3. Ensure that the service has started.

Add firewall exceptions for HP-MPI programs (required)


For HP-MPI to work properly, it is necessary that firewall exceptions are created for HP-MPI processes. Add firewall
exceptions to the following programs:

UTILS\platform_mpi-09.01.02.01\sbin\pcmpiwin32service.exe
UTILS\platform_mpi-09.01.02.01\bin\mpirun.exe
UTILS\platform_mpi-09.01.02.01\bin\mpid.exe
FASTRAN_SOLVER\bin\CFD-FASTRAN-SOLVER-DP-PCMPI.exe

221
CFD-FASTRAN V2014.0 User Manual

Note You may have to contact your IT personnel to make these exceptions.

REGISTER PASSWORDS FOR AUTHENTICATION (RECOMMENDED)

It is recommended to register (cache) the passwords for authentication. This needs to be done once per user for
each machine.

From a command window, run the following command:

C:\> %ESI_HOME%\20140.0\UTILS\hpplatformmpi-091.01.020.001\bin\mpidiag.exe –s
<hostname> -cache –st

Password for MPI runs:

Message received from Service: <displays username>

With the -s option in the above command, the hostname can be either the local machine or a remote host.

VERIFY THAT DIFFERENT NODES CAN COMMUNICATE WITH EACH OTHER (TEST)
After completing the above steps of staring the HP-MPI service and registering the passwords, it is recommended
that the user tests that the machines can communicate with one another using HP-MPI.

Verification
From a command window, run the following command:

C:>\ %ESI_HOME%\2014.0\UTILS_2009.4\hpplatformmpi-091.01.002.010\bin\mpidiag.exe –s
<remote host> -at

Message received from Service: <displays username>

If the output contains your username, the machines are communicating successfully. It is recommended that this
test be done across all nodes to make sure that all nodes are communicating successfully.

Parallel Processing Setup


The following sections provide information on how to setup a model for parallel run using CFD-FASTRAN.

GUI Setup
Parallel Setup Panel: MDICE
Parallel Setup Panel: MPI
CFD-FASTRAN-SOLVER Script

222
Solver Usage

GUI Setup
All parallel setup is done from CFD-FASTRAN-GUI either interactively or using a GUI script. If you plan to run a case
as a parallel simulation, change the Run Type to Parallel on the Run Panel. This will reveal a new button labeled
Configure Parallel Run, which will launch a standalone panel for specifying parallel settings.

The setup panel differs slightly depending on whether the model is structured (MDICE Panel) or unstructured (MPI
panel). CFD-FASTRAN-GUI determines whether a model is structured or unstructured by the Modules selected by
the user on the Problem Type panel. If the Polyhedral Mesh Solver module is selected, regardless of the actual
type of cells in a given zone, the model will be treated as an unstructured-mesh case. The setup for MDICE and MPI
are described in the following sections.

Parallel Setup Panel: MDICE


All parallel simulations are setup using CFD-FASTRAN-GUI or GUI scripting. Users will find that the Parallel Setup
Panel has been redesigned to make it possible to setup both structured-mesh parallel (MDICE-based) or
unstructured-mesh parallel (MPI-based) simulations. Also, other minor enhancements have been made.
Assignment of process type (Master, Worker, Chimera and Stress) is now easier.

The Configure Parallel Run panel looks as shown below. The main components of the window are the Host List,
the Process List, and the Zone Assignment. At the top of the window, there is a Default Working Directory. At the

223
CFD-FASTRAN V2014.0 User Manual

bottom center of the window, there is an Edit Current Selection section that works in conjunction with the Process
List.

Configure Parallel Run Panel - MDICE

The panel now displays a 'Load Factor’ column for structured-mesh cases, which gives the ratio of the number of
cells assigned to a process to the ideal number of cells, i.e. the entire model distributed evenly among all
processes. The maximum possible speedup of the parallel computation can be estimated by taking the inverse of
the largest Load Factor appearing in the list and multiplying by the number of processors. The user can review this
and reassign the zones to get as close to a load factor of 1 for all zones. Therefore, it is advisable that the user
plans ahead to avoid the possibility of having large zones that tilts the load factor unfavorably. Also note that the
chimera and stress zones should be assigned to an exclusive processor. At this time, chimera and stress
calculations are performed in serial only.

EDIT HOST LIST

If you press the Edit button in the Host List, another dialog pops up for you to edit the list of available hosts. The
only attributes to be set are the name, the number of processors, and the relative speed of each processor. The
number of processors and speed are only used by the Distribute Zones button to load-balance the mapping of
zones to processes. Speed refers to the speed of each processor, not the aggregate speed of the specified number
of processors.

224
Solver Usage

For example, if you own dual-core, dual-cpu Opteron processors, you may choose to enter 4 for the number of
processors, each with speed 1.0. Alternatively, you could list the same host 4 times in the Host List.

The Speed field is primarily used when the speeds of the hosts in the cluster are not the same, which can happen
when one of the machines is partially loaded by another running job.

To operate the panel, click Add to create a new host, then change the name in the Host field and hit Return to
accept the name change. If you select an existing host, change the name, and then hit Add, you will cause a new
host to be added, so be aware of the correct working procedure described above.

Edit Available Hosts

Parallel Setup Panel: MPI (Unstructured-Mesh Cases)


The Configure Parallel Run panel looks as shown below for unstructured-mesh cases. The main components of the
window are the Host List, the Process List, and the Zone Assignment. At the top of the window, there is a Default
Working Directory. At the bottom center of the window, there is an Edit Current Selection section that works in
conjunction with the Process List. The type of domain decomposition can also be chosen here.

225
CFD-FASTRAN V2014.0 User Manual

Configure Parallel Run Panel - MPI

RUN DTF_DECOMPOSE UTILITY

Users can choose to do the domain decomposition separately and write out the decomposed DTF to a new file.
This new file can then be used with the no decomposition option in the GUI. In such cases, it is recommended to
do dtf_decompose on an file where all other model settings are done.

dtf_decompose takes the original DTF file containing one or more zones, and merges all zones into one massive
"virtual" zone (unless user has given the -orig_topo option as discussed below). Then dtf_decompose breaks up
this virtual zone into the specified number of processors.

For example, consider a case with 3 zones that the user wishes to run on 8 processors. dtf_decompose would first
merge these 3 zones into 1 massive virtual zone, then break up the single zone into 8 zones to enable parallel
processing using 8 machines.

Whereas in the structured-grid parallel execution the user was limited to parallel processing up to the number of
zones, for the unstructured-grid solver the user may have more processors than zones. The dtf_decompose utility
takes the existing zones, merges them, and then breaks them up again into as many pieces as there are processors.

dtf_decompose uses a decomposition technique known as multilevel graph partitioning. This technique equally
divides all the cells among the specified number of processors, in a manner that minimizes the interprocessor
communication costs.

The syntax of the command is:

dtf_decompose [-version] [-h] <decomposition flags> [-even] [-file_out outFile.DTF]


model_name sim# number_of_processes

The options are as follows:

226
Solver Usage

-version flag. This option prints the version number.

-h flag. This optional argument shows all the options available.

<decomposition flags>. There are several flags that configure the domain decomposition options, allowing
the user to exercise some control. If the user gives -x, then the domain decomposition is performed along the x-
axis. The "cuts" are located so that each processor has the same number of grid cells. This may or may not
correspond to a uniform spacing in x. If it is -y then the domain decomposition is performed along the y-axis. If it
is -z then the domain decomposition is performed along the z-axis. The default value is -metis, which splits the
virtual zone to minimize the interprocessor communication costs as described above.

Another decomposition flag is the -orig_topo flag. The -orig_topo flag will cause dtf_decompose to ignore
the number of processors, and simply split the domain along the original zonal boundaries. This is useful for
running structured grid cases with the unstructured-grid solver. Zones will be assigned to processors in a round-
robin fashion by the fastran_mpi script (see next section), in the event that the number of zones is greater than
the number of processors.

The -even flag forces the x, y or z cuts (see above) to be made with uniform spacing. This could possibly result in
different numbers of cells on each processor.

The -file_out flag lets the user direct the newly decomposed DTF file into a separate file, instead of appending
to the existing DTF file as simulation 2. It is highly recommended to use this flag.

The next three arguments are required. model_name is the model name. The sim# argument is required and
lets the user specify which simulation will be decomposed (usually simulation number 1). The
number_of_processors argument is required and indicates the number of processors.

Once the MDICE/MPI setup is complete, users can submit the job for run either from the GUI directly or using the
CFD-FASTRAN-SOLVER script from command line.

227
CFD-FASTRAN V2014.0 User Manual

Limitation As of 2014.0, unstructured solver with Chimera or moving body simulations cannot be run in parallel.
This restriction may be relaxed in an upcoming release.

CFD-FASTRAN-SOLVER Script
Usage: CFD-FASTRAN-SOLVER [options] -dtf ModelName

Options for all cases


Option Description

-run_more # Continue previous simulation (like NEWRUN=F)

-sp # Use single-precision instead of double-precision

-serial # Force to run serial if case is set to run parallel

-trace # Print detailed info about what the script is doing

-h|-help|-usage # Print out script usage

-v|-V|-version # Print out script version number

Options to override GUI setup for parallel hosts specification


Option Description

-hosts <file> # List of hosts to use

-local # Use current host for all processes

-pbs # Get hosts from PBS_NODEFILE environment variable

228
Solver Usage

Options only for MDICE (parallel structured) cases


Option Description

-timeout <n> # Set timeout (n in seconds) for MDICE controller.

# Default is 1200. Big jobs should increase it.

-registry_timeout # Set timeout (n in seconds) for MDICE registry


<n>
# startup. Default is 5 seconds.

-daemon_timeout # Set timeout (n in seconds) for MDICE daemon


<n>
# startup. Default is 2 seconds.

-ssh|-rsh # Protocol for remote access and execution

-keep # keep all output files in all working directories

Options only for MPI (parallel unstructured) cases


Option Description

-decomp <option> # Pass <option> to dtf_decompose,

# e.g. -x|-y|-z|-cell_groups|-orig_topo

-nodecomp # Use current host for all processes

-pbs # Do not run dtf_decompose (assumes already done)

Parallel Processing Performance


The following sections provide information of factors that might affect the performance of CFD-FASTRAN in a
parallel setting.
Speedup and Efficiency
Load Balancing and Synchronization Effects

229
CFD-FASTRAN V2014.0 User Manual

Communication Costs
Importance of Model Size
Expected Performance from CFD-FASTRAN

SPEEDUP AND EFFICIENCY

Speedup is defined as the ratio of the one-processor serial run time to the actual N-process parallel run time,

S = T1 / Tp

Efficiency is the ratio of actual speedup to the ideal speedup (N, the number of processors):

E=S/N

Scalability is communicated as a plot of efficiency vs number of processors, and there are two conventional ways
to define it. Scaled-size scalability is the plot of E vs N for a problem size that scales with N. The ratio of
communication to computation work stays constant in the scaled-size scalability plot, so that any dropoff in
efficiency can be attributed to increased communication costs due to algorithm, network etc.

Fixed-size scalability is the plot of E vs N for a fixed problem size. The fixed-size scalability plot informs you what is
the maximum speedup possible for a given model.

LOAD-BALANCING AND SYNCHRONIZATION EFFECTS

If the processors in a parallel simulation do not have the same number of grid cells assigned to them, then the
speedup will not be perfect. For example, if a 1,000,000 cell case is split up over 4 processors, but 1 processor has
400,000 cells (due to the size of the individual zones), then the most speedup you can have is 2.5 (1,000,000 /
400,000). 2.5 out of 4 is 60% (this is the efficiency).

The slowest processor (or the one with the most work to do) will finish the cycle last (the end of the cycle is a
synchronization point), and all the other processors will already be sitting there idle, doing nothing. In that sense,
having less than perfect load-balancing is a waste of computer resources.

In CFD-FASTRAN, high efficiency can be achieved by avoiding having one big block such as in the example above.
Break big blocks into smaller ones if necessary, to ensure that each processor has the same number of cells.

COMMUNICATION COSTS

In reality, the efficiency will be even smaller in the example above, because of interprocess communication. In a
single processor simulation, when Chimera data and zonal (patch) interface data are being updated, these
operations involve one zone getting data that "belongs” to another zone. This data resides in the local memory of
the computer. It can get this data just as fast as it gets any other data.

In a parallel simulation, the data from the other zone may not available in the local memory. Instead, a given
processor may have to communicate the data to the processor that needs it. This is interprocess communication.
Such interprocess communication is relatively slow compared to accessing local memory - up to 1000x slower!

Thus, the parallel efficiency is also affected by interprocess communication:

230
Solver Usage

• How frequently it happens. Ideally, there are long uninterrupted periods of concurrent parallel
processing, interrupted only occasionally by communication. CFD-FASTRAN is very good about this -
Chimera data and zonal interface data need to be exchanged only once per cycle. By contrast, CFD-ACE+
exchanges data once per linear-solver iteration, and there are many such iterations per cycle.
• How long it takes the data to transfer. A Gigabit switch is faster than a 100based-T Ethernet switch.

IMPORTANCE OF MODEL SIZE


You must have a certain minimum problem size in order for parallel processing to make sense. If the model size is
only 100,000 cells, and you parallelize over 4 processors, then each processor is working with only 25,000 cells.
Let’s assume that the zones are equally sized, so that load-balancing is not an issue. It is quite possible in this
situation, that the speedup can still be as low as 3 out of 4, just because of the extra cost associated with parallel
computations, the interprocess communication.

Note In CFD-FASTRAN, we recommend that you have at least 100,000 cells per processor.

Another unavoidable consequence of interprocess communication and load-balancing is a form of the Law of
Diminishing Returns: You cannot decrease the run time for a case indefinitely, simply by adding more processors.
For example, given a 1,000,000 cell case, if you throw 2 processors at it, you will likely get a speedup very near 2. If
you throw 8 processors at it, you may get a speedup of 6. If you throw 32 processors at it, you may get a speedup
of 8 at most. At some point, you cannot get any return for your investment of additional processors. This happens
because some finite amount of time is required for communication, even if you completely eliminate the
computational work.

EXPECTED PERFORMANCE FROM CFD-FASTRAN

A typical large-scale aerodynamic computation worthy of parallel processing should involve at least 1,000,000
cells.

You should have at least 100,000 cells per processor to obtain parallel efficiencies greater than 90%.

If your case involves only zonal (patch) interfaces, you can expect good scaling (90% efficiency) up to 8 processors
for a 1,000,000 cells case. If the case is even larger, you may see good scaling up to 16 or even 32 processors.

If your case involves Chimera interfaces, the scaling will not be as good in the current version of CFD-FASTRAN. All
Chimera computations are serialized at the present time. One can expect 90% efficiency up to 4 processors on a
1,000,000 cell case, but never more than a speedup of 8 regardless of the problem size or number of processors.
This is the present limitation of parallel Chimera cases in CFD-FASTRAN. This limitation will be removed in a future
version.

Parallel Processing Troubleshooting


If errors occur during a parallel simulation, the first step in diagnosing the problem is to attempt to determine
what part of the procedure failed.

231
CFD-FASTRAN V2014.0 User Manual

First, make note of when the error occurred. Was it before any residuals were printed? Was it before any output
files were created? If so, this points to a problem with the pre-computation procedures described in this section. If,
in contrast, the solution has begun producing residuals, then any problem is much more likely occurring in CFD-
FASTRAN itself, or else the problem is simply diverging.

Error messages produced from the MPI libraries or macros can be very cryptic, and typically do not suggest any
corrective action to be taken. Error messages like "broken pipe" or "connection refused" or "p4_error" are actually
produced by MPI. At some low level, interprocessor communication failed.

This could be due to a solver failure, e.g. one of the CFD-FASTRAN-SOLVER processes crashed, or it could be due to
a networking problem. If one of the CFD-FASTRAN processes dies, the parent thread (part of MPI) may catch the
error gracefully and produce a message. However, it is also possible that the parent MPI thread may die
ungracefully.

Users should verify that they can still reach (ping) the hosts involved in the parallel computation, if a failure occurs.
If one can successfully communicate to every host, then it is not likely that an actual network problem occurred; in
this case, it is more likely that one of the CFD-FASTRAN processes died.

Finally, if there is any error message that appears to have come from the CFD-FASTRAN solver, then one should
look into the out and DTF files for possible setup mistakes.

A very useful trick in diagnosing problems with a parallel run is to first try running it as a serial case. If this works,
then there is likely nothing wrong with the problem settings.

Next, run the case parallel but with all processes running on the host processor (the local machine). This will not
actually obtain any speedup, but it will help to determine if there is any problem with the communication between
the local machine and other hosts.

General debugging tips are beyond the scope of this section. However, in general the strategy is to begin with a
case that contains only the bare minimum essential problem setup. If the simplest possible case works but the real
case doesn’t then it should be straightforward to add other complexities to the setup until the problem is
discovered. If, however, the simplified case does not work, then something procedural is causing the problem, or
there is a setup problem with the parallel environment or machine.

Contact ESI Customer Support for assistance with these issues. Send all input and output data files, plus whatever
additional supporting information about your system and environment that you can gather.

The standard output generated by the solver, including all warning and error messages, is stored in the model.out
file. Look first for indications of problems in this file. Each host may use a different working directory (as done in
Tutorial 10). Thus, look at the model.out file in each working directory as well.

Users should also inspect the window where they launched the job, because the MDICE registry, MDICE daemons,
and MDICE controller will write messages there.

Contact ESI Customer Support (support.cfd@esi-group-na.com) if needed, for assistance in resolving problems.

Abnormal Termination and Cleanup


As discussed above, it is not necessary to stop the MDICE registry process or the MDICE daemon processes that run
on each node of a parallel cluster, after the parallel job has finished running.

232
Solver Usage

When the CFD-FASTRAN-SOLVER script finishes, provided there are no errors, the MDICE controller should exit
normally. If for some reason CFD-FASTRAN itself crashes, or CFD-ACE+ crashes (CFD-ACE+ is used in aeroelastic
simulations), the MDICE controller may be left running. In such cases, users may kill the process with the simple
command:

bob@fast1% killall mdicec

The killall command is available on most Linux/Unix platforms. It will identify any running processes with the name
mdicec that belong to the current user, and kill them. It only kills processes belonging to the current user, so there
is no danger of interrupting someone else’s simulation.

It is also possible to clean up CFD-FASTRAN, mdicer, mdiced and any other processes with the killall command. If
you attempt to run parallel structured-grid cases and they do not go smoothly, you may want to start from scratch.
The easiest way to start "fresh" again, is to issue the following command that kills all MDICE and CFD-FASTRAN
processes:

bob@fast1% killall mdicer mdiced mdicec CFD-FASTRAN-SOLVER


bob@fast1% rsh fast2 ''killall mdiced CFD-FASTRAN-SOLVER''

Run Panel (Run)


Once you’ve reached the Run Panel in CFD-FASTRAN-GUI, you should save the DTF file. Then, proceed to the next
topic on Running Simulations for a description of the Run Panel and command-line alternatives for launching
simulations.

Running Cases

Running Cases with CFD-FASTRAN-SOLVER


This section discusses the tail end of the problem setup process - saving the DTF file, submitting runs,
understanding the output files that are generated by the solver, making changes to the DAT file and restarting
simulations, and troubleshooting problems.

For review, the overall process of running CFD-FASTRAN involves the following process:

• Create a DTF file, or translate another mesh file into DTF format
• Start CFD-FASTRAN-GUI and load the DTF file
• Set up the model and simulation inputs
• Save the DTF file.
• Run CFD-FASTRAN-SOLVER from the command-line, or from the Run Panel of the GUI.

233
CFD-FASTRAN V2014.0 User Manual

Launching Cases from the Command Line


The alternative to pressing the Submit Serial button on the Run panel is to open a Unix/DOS shell and run CFD-
FASTRAN-SOLVER directly from the command line.

On Unix/Linux systems, ask your System Administrator how to start a terminal or shell. Many window managers
will start one by default. This varies from system to system. On Windows, a DOS shell can usually be found under
Start->Program Files->Accessories.

Note ESI Customer Support recommends that you download and install Cygwin Tools and Utilities for Windows
systems. This provides a complete Unix environment on a Windows system. The reason for this recommendation is
that the Windows DOS shell has very few features.

COMMAND SYNTAX

To launch CFD-FASTRAN from the command line, first use the File Menu in CFD-FASTRAN-GUI to Save the DTF file.
Next, use the following command:

% CFD-FASTRAN-SOLVER -dtf model > model.out

Also, note that only the base name of the DTF file is given, not the full "model.DTF” file name. The "-dtf” option
flag is required.

It is recommended practice to launch the solver from a command-line shell and redirect the standard output into a
file, as shown above. On Linux/Unix platforms, it is possible to redirect output to a file and simultaneously allow it
to print on the terminal screen, using the "tee” command, as follows:

% CFD-FASTRAN-SOLVER -dtf model | tee model.out

On Windows systems, we recommend the use of Cygwin utilities to provide a Unix environment underneath
Windows.

Note For Windows users without Cygwin utilities, if you instead launch CFD-FASTRAN from a DOS shell or directly
from the CFD-FASTRAN GUI, then it is not necessary to redirect the output to model.out, because this file will be
created automatically.

SINGLE VS DOUBLE PRECISION

If the users wants to use the single precision version of the solver CFD-FASTRAN-SOLVER should be replaced with
CFD-FASTRAN-SOLVER-SP in the above commands. Generally, the double-precision version should be used,
because some of the calculations are sensitive to round-off errors.

Note If the Chemistry module has been selected on the Problem Type panel, then we strongly recommend that
you use the double precision solver, because we have observed that round-off errors can have a very serious effect
on the convergence.

234
Solver Usage

Other Input File Specifications

HOSTS FILE

The model.hosts file is an ASCII text file created by the GUI for running the parallel solver for structured-grid cases.
The parallel solver reads this file to obtain information on zonal mapping to processors (load balancing),
hostnames and other miscellaneous information such as whether the network is NFS mounted or not.

Additional information on parallel processing is provided in the next chapter. Note that if you make any changes in
this file you must resave the corresponding DTF file. The format of this file is described in the table following this
discussion.

TPBC FILE

This file is created by CFD-FASTRAN-GUI if the user has indicated time-dependent BC values for velocities,
pressures or temperatures.

WAL FILE

The model.WAL file contains wall and blockages patches. These patches can be viewed in CFD-VIEW by turning on
the wall flag. Please refer to the CFD-VIEW User Manual for more details.

The model.hosts file format


TOTAL_#_OF_PROCESSORS Total number of processors used in the parallel job.
CHIMERA_HOST# Host number which will perform chimera related computations.
MASTER_HOST# Master host number. This host performs the cleaving and merging of DTF
files.
Hostname hostname of the machine
Default Working Directory working directory for the host. The cleaved DTF file and output files
generated by the processor are kept in this directory.
Number of Processors The total number of processors the machine has. This number is greater than
1 only for multiprocessor machines.
Relative Speed Relative Speed of the processor with respect to other processors present.
NFS Y or y if the processor is NFS mounted else N or n.
Number of Domains in this Total number of domain assigned to this processor.
processor
List of Domains Domains numbers of the domains assigned to this processor.
Display information Y or y if the user wants an xterm window showing the standard output
generated by the processor to come up on the desktop machine. Otherwise
this should be set to N or n. If this is set to Y or y then make sure that the
environment variable DISPLAY is set correctly and the hostname has been

235
CFD-FASTRAN V2014.0 User Manual

added in the xhost list of the desktop machine.

Restarting Cases
Restarting a simulation is straightforward in CFD-FASTRAN. On the IC Panel, one may change all volumes to
"Restart from File” setting and save the DTF file.

Restarts are submitted in the same way as new runs, using the same files and same command-line syntax. The
restart data is saved inside the DTF file automatically at the end of the initial run, by the solver. The syntax to
launch a restart run is the same as for the initial run.

Note Saving the DTF file does not delete the restart solution data that is already present inside the DTF file.
However, if you do a "Save As” operation, existing restart solution data will be deleted. If you want to achieve the
effect of restarting a simulation with a different model name, the proper technique is (1) make a copy of the DTF
file with the new model name; (2) perform a regular Save operation.

Solver-Generated Output Files


The solver creates many output files to enable users to inspect the solution and monitor/assess the numerical
convergence of time steps, for steady-state simulations.

In addition, the solver prints output that is directed to "standard out”, which is typically the command-line shell
from which the solver was launched. The complete list of possible output files is as follows:

screen output
model.DTF / model.DTF.*
model.RSL
model.FORCE
model.VFORCE
model.RUN
model.MON.*
model.FOR*
model.TRIG

DTF FILE

The solver will update the model.DTF file with the latest solution and restart data if the plotting cycles (CYC/PLOT)
is a negative number.

If the plotting cycles (CYC/PLOT) is a positive number then a unique DTF file model.DTF.* is created each time. One
may wish to create unique solution files for transient simulations, or for steady-state simulations where some
"animation” of the flowfield convergence process is desired (usually for debugging purposes).

236
Solver Usage

With unique files, one may use CFD-VIEW to animate the solution. However, saving unique DTF files each time
output occurs, can add significantly to the disk space requirements for a simulation.

STANDARD OUTPUT (.OUT) FILE

The solver echoes the contents of the DAT file when it begins running. This allows the user to verify that the input
has been read correctly and have a record of the settings if, for some reason, the DAT file is deleted.

Next, the solver summarizes general parameters for the structured or unstructured grid such as the total number
of outer boundary faces, the total number of interior faces and the total number of faces combined. Also
information on the number of cells and nodes are generated.

Next, information for each zone is then displayed.

The remainder of the output to screen is run-time data. For non-moving/non-Chimera problems, information is
displayed about the current zone, iteration, gas residual (combined L2 Norm of density, velocities, and pressure),
turbulence residual (L2 Norm of k-e or k-w), the minimum time step, the maximum time step, the "real” time of the
simulation, and the CPU time required.

For moving/Chimera problems, the output includes the state of the Chimera stencil search and the Chimera
boundary identification.

RESIDUAL FILES (RSL AND RZ)

The model.RSL and model.RZ files contain the residuals for a simulation. The residuals are calculated as the 2-
Norm, also called the L2 norm, for each variable.

The model.RSL file is used by the CFD-FASTRAN GUI to plot the maximum residual of the entire domain for density,
u velocity, v velocity, w velocity, and pressure

The model.RZ file contains more information and can be used with other line plotters. The contents of this file are
(1) zone number, (2) number of iterations for a zone, (3) CPU time in hours, minutes, and seconds, (4) the L2 Norm
of all variables combined for that zone, and (5) the L2 Norm of each variable for that zone.

FORCE OUTPUT FILES (FORCE AND VFORCE)


The model.FORCE and model.VFORCE files contain the total aerodynamic and shear (viscous) forces, respectively.
The total force and moments are given in x, y, and z components in the inertial frame of reference. Note that the
moments are currently calculated about the point (0, 0, 0). The area, A, does not currently reflect the surface area
of blocked regions. Finally, the units are N and N-m for forces and moments.

RUN FILE
The model.RUN file may be used to help control the execution and termination of CFD-FASTRAN. This file is
generated by CFD-FASTRAN at the beginning of the simulation. A normal termination by CFD-FASTRAN causes the
model.RUN file to be removed by CFD-FASTRAN. If there is an abnormal termination, due to a computer system
problem or an undetected error within CFD-FASTRAN, the model.RUN file will remain within the run directory. This
is one way for the user to check if a run completed successfully or failed.

237
CFD-FASTRAN V2014.0 User Manual

When starting up, CFD-FASTRAN checks the current directory for pre-existing model.RUN files. If there is already
one there, it will not run, because it assumes that a case is already running, and running a 2nd case in the same
directory on the same DTF file, would corrupt existing results files.

Note If the previous run failed, the user should remove the .RUN file before trying to launch the simulation again.

The RUN file also has another use. Users can stop a running case by editing the file and replacing the contents with
the command STOP or stop. Every cycle, CFD-FASTRAN will read the RUN file and look for these words; if it finds
either one, it will write restart information immediately (after the next cycle), along with plotting information, and
then stop.

AERODYNAMIC FORCE OUTPUTS


If the user has defined specific aerodynamic force outputs in the Aerodynamic Force Summary section of CFD-
FASTRAN-GUI, then files named model.FOR* will be created, where * is the number of the force summary. The
contents will be the aerodynamic forces (coefficients) and moments (coefficients) at each cycle, configured
according to the options set by the user in the CFD-FASTRAN GUI setup.

TRIGGER FILE (TRIG)


The model.TRIG file is created and touched every CYC/PLOT cycles. There is no data in the file. The existence and
modification time of the file can be continuously monitored by CFD-VIEW, using the trigger file option when
reading the DTF file. When CFD-VIEW detects that the trigger file has been modified, it will automatically reload
the DTF file. This lets users constantly monitor the solution development in a running CFD-FASTRAN simulation,
assuming that the DTF file solution data is being overwritten (not directed to a unique file).
Please refer to CFD-VIEW documentation for additional information.

CHIMERA FILES (ORPHAN, CFGD, CUGD)

An ORPHAN file may be created during simulations involved Chimera/overset grid models. An "orphan” is a grid
cell center for which a valid interpolation stencil could not be found within an overlapping mesh.

During the solution process, one mesh may have "boundary” points for which the solution data are obtained by
interpolating from another mesh. The user specifies which meshes can supply data to any other mesh, during the
CFD-FASTRAN GUI setup process. The solver looks into the allowable "donor” meshes and attempts to find which
grid cell the boundary point falls into. The vertices of this "donor” grid cells define an "interpolation stencil” for
obtaining the solution at the boundary point in question.

If the solver is unable to find an interpolation stencil in the user-specified donor mesh(s), for some boundary point,
then the boundary point is labeled an "orphan” and relevant information is written to the ORPHAN file for
assistance in debugging the problem.

The information includes the zone number, the cell indices of the boundary point, and the (x, y, z) location of the
cell centroid. It is recommended that the user launch CFD-VIEW, use a Point Probe at location (x,y,z) to identify the
cell centroid location which was unable to find an interpolation stencil, and then manually examine overlapping
meshes (if any), to diagnose the problem.

Generally, if there are only a few orphan points (say, less than 0.01% of the total number of cells in the model),
then the solution will probably not be greatly affected. The solution at orphan points is prescribed by extrapolation

238
Solver Usage

from neighboring points which are not also themselves boundary points. This technique is usually sufficient to
produce reasonable results so long as the number of orphan points is small.

If there are a large number of orphans, then something is wrong with the over set grid connectivity. Sometimes
this can happen in moving-body problems when two meshes that were initially on top of each other, move away
from each and stop overlapping.

There is another grid-quality issue which also produces orphans, which the user should be aware. In the region of
overlap between two grids, if one grid is very fine and the other is very coarse, and either one or both of the
meshes is "cut” by the presence of some nearby wall boundary, then a full overlap between the two meshes may
not be preserved by the hole-cutting algorithm, and orphan cells may be produced. The number of orphans can be
reduced by increasing the grid resolution in the coarse mesh until it more closely matches the fine mesh.

Note It is repeated here that the basic prerequisite for getting accurate results with Chimera/overset mesh
technology, is that overlapping meshes must have similar grid resolution in the region of overlap. Sometimes
during moving-body problems, users are careful to make sure that the initial meshes overlap nicely and have
equivalent resolution in the region of overlap, but they do not think about the future position of these meshes.
Once two meshes move far enough apart, a situation may arise where coarse cells in one mesh are overlapped
with fine cells from another mesh, and orphan points will likely be found.

Note Users are advised to think ahead about the entire simulation time and make sure that both grids will
maintain equivalent grid resolution in the overlap region, for the duration of the simulated time.

Generally, orphan points also correlate with convergence problems. The more orphan points, the worse
convergence will be - the reason is that the orphan-point solutions are being prescribed in a purely numerical
fashion (extrapolation from interior points) which, while smooth, is not conservative or consistent with the
numerical discretization of neighboring cells.

The model.CFGD or model.CUGD files are grid files in either Formatted or Unformatted Double precision format.
These files can be used for debugging problems with orphan points, by reading them into CFD-VIEW. They contain
a grid comprised of grid cells which are the interpolation stencil cells.

One would use the CUGD and CFGD files as follows. Read the original DTF file, then read the CFGD or CUGD file. Set
the colors of the grid lines for the original file to blue, and set the colors and/or thickness of the grid lines for the
CFGD/CUGD file to be different. Then put a Point Probe at the orphan point in question, and observe the absence
of a valid interpolation stencil

6DOF MODEL OUTPUT FILES (DYN*, KIN*)

If the user has defined Motion Models and associated them with certain zones, then the following files will be
created:

model.DYNA*, model.DYNB*
model.KINA*, model.KINB*

The model.DYNA* and model.DYNB* files contain force and moment data created by each motion model. Note
"DYN” is a shorthand for dynamics.

239
CFD-FASTRAN V2014.0 User Manual

At each cycle, model.DYNA* contains the individual forces in the x, y, and z directions. The individual forces printed
in the file depend on the options selected in the GUI. For example, forces due to aerodynamic, gravity, and point
forces are listed separately.

The model.DYNB* file lists the total forces in the x, y, and z directions for both inertial and body fixed axes. The
total moments taken about the inertial (0, 0, 0) are also listed in inertial and body fixed axes.

The files model.KINA* and model.KINB* contain motion-related information for each motion model. Note "KIN” is
a shorthand for kinematics. Again, each motion model creates a unique kinematic file. In model.KINA*, the
position, linear velocity and linear acceleration of the center of gravity of a motion model are printed out for each
cycle. In model.KINB*, the following four quantities are printed out for a motion model:

1. Inertial Displacement (deg): This is angular displacement of the body in the inertial frame.
2. Body-Fixed Displacement (deg): This is sum of the small angular displacements at each time step in the
instantaneous body fixed axis system.
3. Body-Fixed Velocity (deg/s): This is angular velocity in the instantaneous body-fixed axis system.
4. Body-Fixed Acceleration (deg/s2): This is angular acceleration in the instantaneous body-fixed axis system.

AERODYNAMIC FORCES BY SECTION (AFS) FILES

The model.AFS.* file contains the aerodynamic forces (coefficients) and moments (coefficients) at every cycle
according to the configuration options set by the user in Aerodynamic Force Summary By Sections panels in CFD-
FASTRAN-GUI. The * indicates the number of the output file in case the user has defined multiple outputs.

MONITOR POINT (MON) FILES

The model.MON.* file contains the flow field summary at monitor points as a function of time. A unique file is
created for each monitor point; the * corresponds to the monitor point number. The cell indices of the monitor
point, the global flow time (this is printed to be zero if the simulation is run in steady” mode) and the density,
velocity and pressure, are recorded into the file.

DAT File Specifications


The purpose of the DAT file is to allow a command-line "override” for the information specified through the GUI.

When the solver runs, it reads the DTF file information, then it reads the DAT file afterwards. Thus, the DAT file has
a certain precedence over the DTF file from the solver’s point of view. The DAT file was intended for users to make
quick and simple changes to the run configuration (for example, change NEW_RUN from T to F and restart the
simulation) without having to launch the GUI.

In addition, certain simulation data, including time-stepping controls (that is, the CFL number), is saved into the
DAT file on a zone-by-zone basis, whereas in the CFD-FASTRAN-GUI, it is presented as a single global parameter. If
the user wishes, the DAT file content can be modified differently for each zone; this is another purpose for the DAT
file. One may reduce the CFL number for a particular zone, for instance, if it is giving convergence problems.

240
Solver Usage

The model.DAT file contains parameters that are read by the flow analysis code, CFD-FASTRAN. These parameters
determine when restart files, plotting files and other information is written. Other options specified in the
model.DAT file are the spatial discretization scheme, CFL conditions, initial conditions, and moving body problem
information. Possible options for each parameter are listed in the following tables.

Note "T” is true and "F” is false.

OPTIONS FOR CFD-FASTRAN FLOW SOLVER


Calorically Perfect Gas Model ZONAL Parameters Monitor Points
Mixing Gas Model 6DOF (Six degree-of-freedom) Aerodynamic Force Summary
Reactions Model Motion Model Aerodynamic Force Summary by
Surface Reactions Model Prescribed Motion Model Section

NZONES Number of structured and unstructured zones. This should not be adjusted by the
user.
NCYCLES Number of cycles to be executed by the flow solver

STEADY Steady = 1 for steady state


Steady = 0 for transient and moving body problems
NEWRUN T for a new run and F for a restart run

AXI-SYM Presently set to F

OVERSET Overset = 0 for all unstructured grids


Overset = 0 for structured grids that do not overlap
Overset = 1 for Chimera problems
MOTION_MODELS Motion_models = 0 for nonmoving body problem
Motion_models = 1 if there are any moving bodies
START_TIME Starting value for "real” flow time of the simulation

END_TIME Ending value for "real” flow time of the simulation. CFD-FASTRAN stops the
simulation when the real flow time is calculated to exceed END_TIME.
FORCE_SUMMARY Number of aerodynamic force summary models

MONITOR_POINTS Number of monitor points

FORCES_BY_SECTIONS Number of aerodynamic force by section models

PLOTF Plotf = 0 generates NO plotting files


Plotf = 1 generates unformatted plotting files
Plotf = 2 generates formatted plotting files
CYC/SOLVE Set to 1. The user must not alter this value.

CYC/PLOT Number of cycles between generating plotting files. A negative integer instructs
CFD-FASTRAN to over-write the same plotting file. Positive numbers indicate unique
files.

241
CFD-FASTRAN V2014.0 User Manual

CYC/CHIMERA Number of cycles between Chimera hole cutting and generation of the ADT search
tree. Only used with OVERSET = 1.
CYC/6DOF Number of cycles between grid movement. Due to the CPU inexpensiveness this
value should always be set to 1 for moving body problems.
CYC/RESTART Number of cycles before generating flow solver restart data

TINY Parameter used by CFD-FASTRAN to avoid divisions by zero when velocity goes to
zero.
BIG Parameter used by CFD-FASTRAN as a check on variable size. The code will self-
terminate if certain variables exceed this value
GEOMIN Geometric tolerance parameter.

CONVERGENCE Convergence criteria. The simulation ends if the L2 residual decreases by the order
of magnitude specified.
EPSILON_DIST Parameter used in Chimera hole cutting. The user should leave this at the default
setting.
EPSILON_AREA Parameter used in Chimera hole cutting. The user should leave this at the default
setting
EPSILON_RATIO Parameter used in Chimera hole cutting. The user should leave this at the default
setting
Gas_Model Gas_Model = 0 for a calorically perfect gas.
Gas_Model = 1 for mixing gas with mixture fractions specified and no chemical
reaction.
Gas_Model = 2 for mixing gas with species mass fraction specified and no chemical
reaction.
Gas_Model = 3 for mixing gas with species mass fraction and thermal equilibrium.
Gas_Model = 4 for reacting gases with thermal equilibrium.
Gas_Model = 5 for reacting gases with thermal non-equilibrium.

CALORICALLY PERFECT GAS MODEL

The following eight parameters appear only for calorically perfect gases (Gas_Model = 0)

Mol_Weight Molecular Weight of the mixture in kg/kg-mole.


Ratio_Specific_Heats The specific heat capacity ratio gamma (γ) = Cp/Cv. For calorically perfect gas γ is
constant at all temperatures.
Prt_Lam Laminar Prandtl number
Prt_Turb Turbulent Prandtl number
Vis_Model Vis_Model = 0 for constant Dynamic viscosity
Vis_Model = 1 for Sutherland formula.
1/2
Suth_Coeff1 Sutherland’s C1 coefficient, 1.4605e-6 kg/(m s K )
Suth_coeff2 Sutherland’s C2 coefficient, 112 K

242
Solver Usage

Dyn_Viscosity Value for constant Dynamic viscosity (kg/ m s).

MIXING GAS MODEL

The following eleven parameters appear only for mixing and reacting gases.

Coupled Coupled = T (true) always.


Thermo-database Thermo-database = 3 for Low Temperature Database (600 K -3000 K).
Thermo-database = 1 for Molecular database.
Number_of_Species Number of species in the model.
Number_of_mixtures Number of mixtures in the model.
Diffusion Model 1 Fick’s Law
2 Effective Binary Diffusion
Schmidt number Schmidt number
Prt_Lam Laminar Prandtl number
Prt_Turb Turbulent Prandtl number
Gaseous Species List List of the species in the model.
Mixture # Mixture number
Species Mass Fraction pecies Mass Fraction in order of gaseous species list for the Mixture #.

REACTIONS MODEL

The following seven parameters appear only for reacting gases. These parameters are for a reaction step.

Number of Reaction Number of reaction steps in the physical model.


Steps
REACTION REACTION ARRHENIUS if the forward reaction rate is given by Arrhenius Law.
REACTION GENERAL if the forward reaction rate is given by General Rate.
STEP Reaction step with stoichiometric coefficients.
FORWARD Af, nf, and Eaf/Ru for the forward reaction.
Concentration power Concentration power of the species in order of species list.
Third body efficiency Third body efficiency of the species in order of species list. Appears only if the Third
Body Efficiency button in the GUI is depressed.
BACKWARD Ab, nb, and Eab/Ru for the backward reaction.

243
CFD-FASTRAN V2014.0 User Manual

SURFACE REACTIONS MODEL

The following parameters appear only for reacting gases with surface reactions.

Number of Surface Number of surface reaction sets in the physical model. Each set can have however
Reaction Sets many reaction setps (given by Number of Surface Reactions)
Number of Surface Number of surface reaction in a given surface reaction set.
Reaction
REACTION REACTION STICKING if the reaction rate is given by Arrhenius Law (the wall surface
is non-catalytic)
REACTION FULLY if the reacting wall surface is catalytic.
STEP Reaction step with stoichiometric coefficients.
FORWARD Af, nf, and Eaf/Ru for the forward reaction.
SPECIES in order of Species Mass Fraction in order of gaseous species
Species List

ZONAL PARAMETERS

Parameters Common parameters are common for all gas models (calorically perfect, mixing and reacting gases.)

Zone-Order Do not alter.


Iterations Number of times the flow solver operates on a grid each Cycle. For time-accurate
problems, Iterations must be equal to 1.
CFL_Start/dt Initial CFL number used in CFL ramping. Note, negative CFL numbers are taken as
the actual time step size. If CFL_Start is negative, then CFL_End must have the same
value.
CFL_End/dt Final CFL number used in CFL ramping. Note, negative CFL numbers are taken as the
actual time step size
Nitcfl Number of cycles needed to linearly increase CFL from initial CFL to final CFL.
Zone Zone number.
Grid_type Grid_type = 1, 3D structured, (hexahedrons), invokes structured solver
Grid_type = 2, 3D unstructured, (tetrahedrons), invokes tetrahedral solver (Version
3.0 unstructured solver).
Grid_type = 3, 2D unstructured, (triangles) invokes tetrahedral solver (Version 3.0
unstructured solver).
Grid_type = 5, 2D structured, (quadrilaterals) invokes structured solver
Grid_type = 6, 2D (any grid type), invokes polyhe¬dral solver
Grid_type = 7, 3D (any grid type), invokes polyhe¬dral solver.
Chimera_type Chimera_type=0 for non-overlapped grids.
Chimera_type=1 for overlapped grids.
Moving Moving = 0 for non-moving zones.
Moving = 1 for moving zones.

244
Solver Usage

MOTION_MODELS = n n is the number of motion models.


T_scheme Time integration scheme.
T_scheme = 3, LU-SGS
T_scheme = 4, explicit
T_scheme = 5, point implicit (not time accurate)
T_scheme = 6, fully implicit (point Jacobi iterative)
N_stage Must equal 1.
Inner Number of inner iterations performed by the fully implicit scheme.
Inntol Tolerance for convergence during the inner iterations of the fully implicit scheme.
Ivisc Viscosity model
Ivisc = 0, Inviscid
Ivisc = 1, Laminar
Ivisc = 2, Baldwin Lomax
Ivisc = 3, High turbulent Reynolds number k-e
Ivisc = 4, Wilcox 1991 k-w turbulence model
Ivisc = 5, High Turbulent Reynolds number
Spalart-Allmaras Turbulence model
Flux Spatial discretization
Flux = 1, Roe’s Flux Difference Splitting
Flux = 2, Van Leer’s Flux Vector Splitting
S_scheme Structured and Polyhedral: Must be set to 4.
Tetrahedral solver:
S_scheme = 0, first order spatial accuracy
S_scheme = 1, second order spatial accuracy
Limit_N Structured: Slope limiter used for higher order accuracy.
Limit_N = 1, first order accurate
Limit_N = 4, MinMod(1,r) limiter
Limit_N = 7, Van Leer limiter
Limit_N = 8, Barth limiter
Limit_N = 9, Venkat limiter
Limit_N = 10, Osher-Chakravarthy limiter
Limit_N = 11, Unlimited

Unstructured
Limit_N = 0, linear averaging
Limit_L = 1, 1/r averaging

Limit_L Structured: Slope limiter used for higher order accuracy. Set to same value as
Limit_N

Unstructured: Limiting option


Limit_L = 0, Unlimited scheme
Limit_L = 1, Minmod type limiter

Entf_L Entropy fix used by Roe’s Scheme. Higher values lead to larger numerical

245
CFD-FASTRAN V2014.0 User Manual

dissipation. Typical range 0.0 < Entf_L < 0.5


Set to same value as Entf_L
Entf_N

Kappa Set to 0.3333. Allows Osher-Chakravarthy limiter to be third-order spatially


accurate.
Init Init = 0, initialize zone with free stream, NEWRUN = T
Init = 1, initialize zone with restart file, NEWRUN = T
Re_init Re_init=0, initialize zone with restart file, NEWRUN=F
Re_init=1, initialize zone with free stream, NEWRUN=F
u Free stream value for u velocity (m/s)
v Free stream value for v velocity (m/s)
w Free stream value for w velocity (m/s)
2
p Free stream value for pressure (N/m )
T Free stream value for temperature (K)
2 2
k/n Free stream value for turbulent kinetic energy (m /s )
e/w Free stream value for turbulent dissipation, e, or turbulent vorticity, w.
Tint Free stream value for internal temperature (K)

6DOF (SIX DEGREES OF FREEDOM) MOTION MODEL

The following parameters belong to 6 DOF (six degrees of freedom) motion model. All motion models are denoted
by an integer count (starting value is 1) in the order they are defined in the model.DAT file. The motion models are
referred to by this integer number elsewhere in the model.DAT file.

Motion Model The text field followed by Motion Model is the name of the motion model (every
name has an integer value by which it is referred as explained above).
Model_Type 0 for prescribed motion model
1 for 6DOF motion model
Timing Option 1 for specifying a start time
2 for specifying a motion model sequence
Start time/ Model No. If Timing Option = 1 this field contains the motion model start time.
If Timing option = 2 this field contains Model No. (sequenced before this motion
model) after which the current motion model becomes active
Center of Gravity Three real number fields for the x,y,z coordinate of the center of gravity of the
motion model in the inertial frame (m).
Euler Angles Three real number fields for the Euler Angles (z-rot, y-rot, x-rot) of the motion
model axis system with respect to the inertial system (deg.).

246
Solver Usage

Initial Linear Velocity Three real number fields for the initial linear velocity (u, v, w) of the motion model
in the inertial frame (m/s).
Initial Angular Velocity Three real number fields for the initial angular velocity (ωx, ωy, ωz) of the motion
model in the inertial frame (deg/s).
Mass Mass of the object in the motion model (kg).
Variable Variable = 0 if the mass is constant.
Variable = 1 if the mass is variable.
file Name of the file for reading variable mass data if Variable = 1
Moments of Inertia Six components of inertial matrix of the object in the motion model (Ixx, Iyy, Izz, Ixy,
2
Ixz, Iyz) (kg-m ).
No. of Zones in the Number of zones on which aerodynamic force is calculated (the aerodynamic force
Aerodynamic Force is calculated on the "wall" boundary)
Model
List of the zones List of the zones for calculating aerodynamic force (number of zones listed should
be equal to the number of zones specified above)
2
Gravity Magnitude of gravity vector (m/s )
Inertial Vector Inertial vector for gravity
No. of Thrust Models Number of thrust models
zone Zone on which thrust is to be calculated (only if No. of Thrust Models is greater than
1)
patch Surface across which thrust is to be calculated.
No. of Point Forces Number of point forces

0 if function of Time=01 if function of x2 if function of y3 if function of z4 if function


of x-rotation5 if function of y-rotation6 if function of z-rotation
Force Frame 0 if point force is applied in inertial frame
1 if point force is applied in body fixed frame
Point of Application Coordinates of point of application of the force in inertial frame (m).
Force is a function of 0 if function of Time=0
1 if function of x
2 if function of y
3 if function of z
4 if function of x-rotation
5 if function of y-rotation
6 if function of z-rotation
Force Function 1 if the input comes from a file. The next line contains the file name.
2 if the force is expressed as a 5th-Order polynomial. The next three lines contains
the coefficient for the polynomial for the three components (Fx,Fy,Fz) of the force
(N).
3 if the force is expressed as a sine/cosine polynomial. The next three lines contains

247
CFD-FASTRAN V2014.0 User Manual

the coefficient for the polynomial for the three components (Fx,Fy,Fz) of the force
(N).
Force Constraint 0 None
1 Time dependent
2 Distance dependent
Start Time, End Time Start time and end time relative to the motion model start time. The force is applied
between the start time and the end time only. This field appears only if Constraint
Type = 1.
Distance, DOF, Frame Distance traveled (specified by "Distance") in degree of freedom (specified by
"DOF") in the frame specified by "Frame". After this distance has been traveled the
point force is deactivated. This field appears only if Force Constraint = 2.
No. of constraints Number of constraints in the motion model.
Constraint Frame 0 if the constraint is applied in the inertial frame
1 if the constraint is applied in the body-fixed frame
DOF degree of freedom constrained (x, y, z, x-rotation, y-rotation and z-rotation
correspond to 1, 2, 3, 4, 5, 6 respectively).
+Tolerance Positive tolerance for DOF (specified above). The body can move in DOF as long as
its displacement in DOF doesn't exceed +Tolerance value.
-Tolerance Negative tolerance for DOF (specified above). The body can move in DOF as long as
its displacement in DOF is greater than -Tolerance value.
Hinged 0 if the constraint is not hinged
1 if the constraint is hinged
Center of Rotation Coordinates (x, y, z) of the center of rotation (m).
Constraints Type 0 Invariant
1 Time dependent
2 Distance dependent
Start Time, End Time Start time and end time relative to the motion model start time. The constraint is
applied between the start time and the end time only. This field appears only if
Constraint Type = 1.
Distance, DOF, Distance traveled (specified by "Distance") in degree of freedom (specified by
DOF_Frame "DOF") in the frame specified by "Frame". After this distance has been traveled the
constraint is turned off. This field appears only if Constraint Type = 2.
Model Dependency 0 if the motion model does not depend on any other model.
n if the motion model is relative to the motion model denoted by integer "n"
(motion model are denoted by integers beginning from 1 according to the order in
which they are defined in the "model".DAT file)

PRESCRIBED MOTION MODEL

The following parameters belong to prescribed motion model. All motion models are denoted by an integer count
(starting value is 1) in the order they are defined in the model.DAT file. The motion models are referred to by this
integer number elsewhere in the model.DAT file.

248
Solver Usage

Motion Model The text field followed by Motion Model is the name of motion model.
Model_Type 0 for prescribed motion model
1 for 6DOF motion model
Start Time Flow time when the motion model is applied (s).
End Time Flow time at which the motion model ends (s).
Origin of Axis System The x,y,z coordinates of the origin of the motion model axis system in the inertial
frame (m).
Euler Angles Three real number fields for the Euler Angles (z-rot, y-rot, x-rot) of the motion
model axis system with respect to the inertial system (deg.).
Linear Motion Type 0 for none
1 for displacement
2 for velocity
3 for acceleration
Function Type 1 if the input comes from a file. The next line contains the file name.
2 if the disp./vel./acc. is expressed as a 5th-Order polynomial. The next three lines
contains the coefficients of the polynomial for three components (x,y,z) of
displacement/velocity/acceleration depending on the "Linear Motion Type” above.
3 if the disp./vel./acc. is expressed as a sine/cosine polynomial. The next three lines
contains the coefficients of the polynomial for the three components (x,y,z) of
displacement/velocity/acceleration depending on the "Linear Motion Type” above..
Motion wrt to Axes 0 for inertial
n for model model n
Angular Motion Type 0 for none
1 for angular displacement
2 for angular velocity
3 for angular acceleration
Function Type Same as described earlier in this section for "Linear Motion Type."
Motion WRT to Axes Same as described earlier in this section for "Linear Motion Type."
Model Dependency Same as described earlier in this section for "Linear Motion Type."
0 if the motion model does not depend on any other model.
n if the motion model is relative to the motion model denoted by integer "n"
(motion model are denoted byintegers beginning from 1 according to the order in
which they are defined in the "model".DAT file).

AERODYNAMIC FORCE SUMMARY

The format of the parameters in "model”.DAT file for writing out user defined aerodynamic force output is
described below. They are present only if FORCE_SUMMARY is greater than 0.

Force Summary Name of the user defined force/moment output summary. Currently, the name is
set to the default (Force1, Force2 .. etc.)

249
CFD-FASTRAN V2014.0 User Manual

Axis System Axis system = -1 define a new axis system


Axis system = 0 inertial axis system
Axis system = n axis system of the motion model number "n”
No. of Zones Number of zones included in the force summary.
List of Zones List of zones included in calculating aerodynamic forces
Units Units = 1 for forces to be reported in dimensional form (N).
Units = 2 for forces to be reported in non-dimensional (coefficients) form.
2
A_ref Reference area (used only if Units = 2) (m ).
D_ref Reference length (used only if Units = 2) (m).
Q Dynamic pressure (used only if Units = 2) (Pa).
Symmetry Options Summary Option = 0 if there is no symmetry in the model
Summary Option = 1 if the model is symmetric about X-Y plane
Summary Option = 2 if the model is symmetric about X-Z plane
Summary Option = 3 if the model is symmetric about Y-Z plane
Summary Option = 4 if the model is axisymmetric

AERODYNAMIC FORCE SUMMARY BY SECTION


The format of the parameters in "model”.DAT file for writing out user defined aerodynamic force output is
described below. They are present only if FORCE_BY_SECTIONS is greater than 0.

Note This capability is available only for the structured solver (that is., when the Poly. Grid module is off).

Force Section Summary Name of the user defined force/moment output summary. Currently, the name is
set to the default (Section1, Section2 .. etc.)
Axis System Axis system = -1 define a new axis system
Axis system = 0 inertial axis system
Axis system = n axis system of the motion model number "n”
Units Units = 1 for forces to be reported in dimensional form (N).
Units = 2 for forces to be reported in non-dimensional (coefficients) form.
2
A_ref Reference area (used only if Units = 2) (m ).
D_ref Reference length (used only if Units = 2) (m).
Q Dynamic pressure (used only if Units = 2) (Pa).
P_ref Reference pressure (pressure integration over a surface is done with respect to this
pressure)
Number of Wall Patches Number of sections/patches present in the model

250
Solver Usage

Zone, Imin, Imax, Jmin, zone number, i-min, i-max, jmin, jmax, kmin, kmax indices of the wall patch.
Jmax, Kmin, Kmax
Symmetry Options Summary Option = 0 if there is no symmetry in the model
Summary Option = 1 if the model is symmetric about X-Y plane
Summary Option = 2 if the model is symmetric about X-Z plane
Summary Option = 3 if the model is symmetric about Y-Z plane
Summary Option = 4 if the model is axisymmetric

MONITOR POINTS

The following parameters refer to the monitor points. They provide all the necessary information for specifying the
monitor points. This section if present only if MONITOR_POINTS has a non-zero integral value.

Number_of_Monitor_Points Number of monitor points


Point_Number point number
Zone_Number zone number for the monitor point
I_index, J_index, K_index i, j, k location of the monitor point in the zone
Cell_Number, x, y, z These fields are not used presently.

Troubleshooting Problems
When running CFD-FASTRAN, problems may occur on occasion. Generally most errors can be described as one of
the following:

• The user has done something wrong with the problem setup,
• There was some problem with the computer system;
• A bug of some sort was encountered.

This section gives some advice on how to handle each situation. Generally, we recommend that you consider the
possibility of user errors first, followed by computer-related issues, and then lastly explore the possibility of a
software error.

Problem Setup Errors


There are many steps involved in creating a model and setting up a simulation. It seems that the most common
problems are related to minor errors in entering data into CFD-FASTRAN-GUI.

We recommend that users review the settings made in CFD-FASTRAN-GUI just prior to saving the DTF file.

Parallel computations are another common problem area. The previous chapter on Parallel Execution should be
read carefully, because there are several steps involved in running parallel cases.

251
CFD-FASTRAN V2014.0 User Manual

If you encounter run-time problems with CFD-FASTRAN, the first thing to do is double-check the GUI input. Second,
check that all files are present and uncompressed in the working directory. Finally, check this User Manual for
topics relevant to your problem.

Memory Usage Issues


Insufficient memory is a common problem. CFD-FASTRAN memory usage naturally goes up and down during a
simulation, dynamically. If enough memory cannot be allocated, CFD-FASTRAN will issue a warning statement and
stop. Users on Linux/Unix systems can watch the memory usage of their system using the top command. Windows
users can use the Task Manager. If CFD-FASTRAN is consuming more than 90% of the system memory, you may
need to reduce the model size or add memory.

DECREASING THE REQUIREMENTS

Memory usage is affected primarily by two factors - the model size (number of grid cells), and the numerical
formulation being used:

1. The model size may be reduced by either reducing the total number of points or dividing the blocks into
smaller sizes. Some temporary memory that scales with the largest block size, is required by the solver.
Making smaller blocks will reduce the size of these temporary arrays.
2. Switch time-integration schemes from fully implicit to point implicit. The point-implicit scheme requires
less memory. At the same time, however, you should keep in mind that the practical limit on the
maximum CFL number is less for the point implicit scheme (10) than for the fully implicit scheme (infinity).

INCREASING THE STACK SIZE

If the system memory is not being exhausted by a large model, but memory appears to be insufficient, then the
process stack memory may need to be increased. Each process is allocated a certain "stack” memory, which varies
from operating system to operating system, by the compiler at compile time. The amount may need to be
increased using the unlimit command (Csh or Tcsh command, on Unix/Linux systems).

The syntax of the unlimit command depends on the operating system. Try the following under Csh or Tcsh shells:

% unlimit
% unlimit stacksize
% limit stacksize unlimited

and the following under Bourne shell derivatives:

% ulimit -s unlimited
% ulimit -c unlimited

To find out the current limitations, try the following:

% limit (Csh, Tcsh)


% ulimit -a (Bash)

On Windows systems, one has to change the attributes of CFD-FASTRAN-SOLVER itself in order to work around
stack size limitations. This is done using the editbin command:

252
Solver Usage

$ editbin /stack:12000000 C:\Progra~1\ESI_Software\win32\FASTRAN_SOLVER_2004\bin\CFD-


FASTRAN-SOLVER.exe

This will increase the stack size to 302 Mb. The default value we use for compilations, is 67 Mb. Note that the
editbin utility is part of Microsoft Visual C++ Developer Studio package, and may not be available on your system.
Contact ESI Customer Support for assistance.

Diagnosing Parallel Problems


Setting up a parallel job is more involved than an setting up an ordinary serial simulation. The chapter on Parallel
Execution provides a description of the most common problems. Here, a short troubleshooting diagnostic
procedure is outlined.

1. Test that the solver runs in serial, if possible. If it doesn’t, then immediately you know the problem is not
related to parallel execution.
2. If the solver won’t run your case in serial, try just seeing if the solver will start properly. From the
command line, issue the command to print the version number.
% CFD-FASTRAN-SOLVER -v

If this does not work, then you have an installation or software configuration problem, not a run-time
problem. Review the Getting Started Guide and check that ESI_HOME is set and
ESI_HOME/UTILS_2004/bin is in your PATH environment variable.

3. Check that you have an account on each node in the cluster, that each node can see the same working
directory (if your system uses NFS), that the software is installed and in your PATH on each node in the
cluster. Every node needs to be able to reach every other node using rsh, and using the host’s name, not
its IP number. Private subnets are sometimes problematic.
Assuming you are logged in to master.domain.com, and one of the nodes in the cluster is node1, try the
following commands:
% host node1.domain.com (or nslookup)
% rsh node1.domain.com echo Hi
% rsh node1 host master
% rsh node1 host master.domain.com
% rsh node1 which CFD-FASTRAN-SOLVER
% rsh node1 ls 'pwd' (backquotes)
- or -
% rsh node1 ls /hosts/master/'pwd' (if using AMD with /hosts as the mount
point)
% rsh node1 "env | grep ESI_HOME"
% rsh node1 "env | grep MDICEDIR"
% rsh node1 "cat .mdice/mdiced.config"
% rsh node1 "cat .mdice/fastran.hosts"
If any of these commands are not successful, then the problem is installation or software configuration-
related, not specifically related to your model. Check the Parallel Execution chapter to make sure some
step was not missed in setting up parallel simulation capabilities, or contact your System Administrator or
ESI Customer Support.

Note Successful execution of the commands given above is considered a prerequisite for parallel CFD-
FASTRAN usage. ESI Customer Support has no responsibility to help System Administrators in setting up

253
CFD-FASTRAN V2014.0 User Manual

their parallel cluster to resolve basic network or system configuration issues unrelated to its software per
se, although we will gladly help if we know how.

rsh access is a common problem. rsh access can be enabled through /etc/hosts.equiv file or the user’s own
.rhosts file. If using the .rhosts file, make sure the permissions are 600 (read only for the user, no read-
write-or-execute for group or other). This is an rsh requirement.
Also, make sure you are using Berkeley rsh, not Kerberos rsh:
% which rsh
/usr/bin/rsh
Kerberos rsh is not supported. Also, make sure your .cshrc (or .tcshrc or .bashrc file, whatever your shell
uses) does not produce any output. rsh will falsely return an error status if output occurs. This is standard
Unix/Linux policy. Any output you need to produce during creation of a terminal window, should be done
inside the .login file, not your shell’s initialization file.

4. Check the permissions for the working directory. It should have read, write and execute permissions.
5. Stop and restart the MDICE daemons and registry. This should strictly be necessary only if changes have
been made to the $HOME/.mdice/mdiced.config file.
Some platforms require the presence of FORTRAN 90 libraries in order to run. If the solver complains
about "libfort.a not found in path”, then it is possible that you will need to obtain and install a FORTRAN
90 compiler or modify your PATH environment variable. Contact your System Administrator and ESI sales
representative.

Using the Run Panel


After saving the DTF file, users may launch the CFD-FASTRAN solver and monitor its progress using the Run Panel
of CFD-FASTRAN-GUI.

The Run panel is shown in figure 4-1 and a brief description of each function is given below.

254
Solver Usage

Figure 4-1. Run Control Page

Setup Parallel
The Setup Parallel option lets the user enter information necessary to set up a parallel simulation for a structured
grid case. The Parallel Processing topic provides further details and descriptions of how to run parallel jobs for both
the structured and unstructured solvers.

Note The Setup Parallel button is not used for preparing or launching parallel simulations for unstructured-mesh
models, but only for structured-mesh models.

Submit (Serial)
The Submit button launches the CFD-FASTRAN solver for the current simulation. If you have not yet saved the DTF
file, you will see a dialog prompting you to do so, as shown in Figure 4-2.

255
CFD-FASTRAN V2014.0 User Manual

Figure 4-2. Run Submit Dialog Panel

The Submit (Serial) button only launches one-processor (serial) simulations. Parallel simulations are run with
different command procedures. These are fully described in the Parallel Processing topic.

Upon launching the jobs from the Run panel of CFD-FASTRAN-GUI, the standard output generated by the solver,
including all warning and error messages, is stored in the model.out file. You can view the solver output as the job
runs, by pressing the View Output File button on the Run panel (described below).

Note The solver executable that CFD-FASTRAN-GUI launches, is set under the Preferences dialog. The default
value is CFD-FASTRAN-SOLVER, which is a double-precision executable. With the standard CFD-FASTRAN package
the single precision executable (CFD-FASTRAN-SOLVER-SP) is also supplied. If you want to launch single-precision
cases from the Run panel of CFD-FASTRAN-GUI, you have to change the solver preference to CFD-FASTRAN-
SOLVER-SP in the Preferences dialog.

Monitoring Residuals
Once the CFD-FASTRAN solver job has been submitted and the solver starts to write the residual history file
(model.RSL), the View Residuals button becomes active. The button will also be active if a model.RSL file exists in
the current working directory. The View Residuals button will create a line plot of the residual history for the
current simulation. The plot will appear in a separate window (see Figure 4-3).

RESIDUAL PLOTTER CONTROLS


Modify Axes This option lets you change the axes of the plots. You can reset the original axes by
clicking on the restore button on the panel.
Update Frequency The default updating of the residual plotter is set to 100 ms. The user can modify this if
he feels it is too frequent or infrequent.
Export to text file This option lets you export the residual file to a text format that can then be imported
into Excel or another plotting program.

256
Solver Usage

Note 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. Simply close the Residual Plotter
and reopen it after a few seconds, i.e. you will not see anything until the first cycle’s
residuals have been written to the file.

Residual Plot The buttons in the upper left-hand corner allow you to activate or deactivate the
Window plotting for that particular variable. The "Color Palette” buttons will open the "Color
(See figure 4-3.) Dialog” panel (see "Color Preferences”) to allow you to change the line color of the
residual plot for that particular selected variable.
The "Minor Gridlines” checkbox will draw more gridlines for the y-axis (logscale) of the
plot.
If the simulation is unsteady (transient) then there are residual histories for each
timestep in the residual file. You can cycle through the timesteps by using the slider at
the bottom of the residual plotter window.

Figure 4-3. Residual Plotter Window

257
CFD-FASTRAN V2014.0 User Manual

Examining Solver Output


Once the CFD-FASTRAN solver job has been submitted and the solver starts to write the output file (model.out),
the "View Output” button becomes active. The button will also be active if a model.out file exists in the current
working directory, regardless of whether or not a case is presently running. The "View Output” button will create a
text viewer to show you the output for the current simulation. The Output Viewer will periodically update to show
you the output file information in near real time.

Note If, upon pressing "View Output” you 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. It may take a few seconds after launching the
job for CFD-FASTRAN to start running if the executable is not local on the machine you are using. This is often
the case in NFS-mounted parallel clusters. On slow networks, it can take up to 30 seconds for your machine to
load the full executable into memory from the remote server machine.

Plotting Motion Model Output


When the Data Plotter option is clicked, a general purpose data plotter appears on the screen. The user can plot
miscellaneous data such as motion model data (in files model.KINA.*, model.KINB.*, model.DYNA.*,
model.DYNB.*), monitor points data (in files model.MON.*), aerodynamic force summary data (in files
model.FOR.*) files and aerodynamic force by section data (in files model.AFS.*). Any of these output files can be
opened in the data plotter. The behavior of the Data plotter is very similar to that of the residual plotter (see "DAT
File Specifications”).
Some users use the Data Plotter. However, many other users simply use Excel (on Windows) or xmgr or gnuplot
(on Unix/Linux).

Stopping a Simulation
You can stop the flow solver while it is running by clicking the Stop option. CFD-FASTRAN will not terminate
immediately, but will instead wait until the current cycle is complete and then perform two functions: (1) save the
restart files, graphics files, and files associated with body movement at the current level and (2) end the current
simulation.
The actual way that CFD-FASTRAN-GUI stops the solver is by writing a RUN file (model.RUN, where model is your
model name) containing the single word "STOP” inside it. The solver looks for this file every cycle. If you are
running a parallel job, you can create this file by hand in order to stop a case that is running.

258
Chapter 16. Appendix A Python Scripting

Overview
CFD-ACE-GUI enables you to setup your problem, including setting simulation variables, volume conditions,
boundary conditions, initial conditions, and point conditions (for the Spray model). This is accomplished by
changing or adding the related variables in the DTF file and sending it to CFD-ACE-Solver to solve the problem.

This process can be setup in CFD-ACE-GUI, but sometime it is necessary to setup the problem in the command line.
The CFD-ACE-GUI Python script is used for this purpose.

Generally, it is quicker to change the variable directly in the DTF file by using functions in the SDTF Python module
of SimManager. But it is dangerous to setup the problem by this way because variables in the DTF file are not
independent and must follow the logic defined in CFD-ACE-GUI. Otherwise, the CFD-ACE-Solver will not recognize
your settings and may provide you with the wrong answer. Therefore, the Python script for CFD-ACE-GUI will not
access the DTF file directly, but will change it by calling functions in CFD-ACE-GUI.

To easily access the variables, the CFD-ACE-GUI Python script is divided into modules according to the CFD-ACE-
GUI Control Panel layout:

GuiFILE - File related operations including some functions in the RUN panel

GuiML - Functions in the Models menu including Spray, Fan Models, Momentum Resistance Models, Radiation
Models, and Mixture and Species

GuiPT - Problem Types

GuiMO - Module Options

GuiVC - Volume Conditions

GuiBC - Boundary Conditions

GuiIC - Initial Conditions

GuiPC - Point Conditions

GuiOut - Output Controls

GuiSC - Solver Controls

GuiRun - Run Controls

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

259
CFD-FASTRAN V2014.0 User Manual

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)
PY_MODULE.SetArray("VARIABLE_IDNAME",index, value)
For zone variables:
PY_MODULE.Set(objects," VARIABLE_IDNAME ",value)
PY_MODULE.SetArraySize(objects," VARIABLE_IDNAME ",value)
PY_MODULE.SetArray(objects," VARIABLE_IDNAME ",index, value)

Here PY_MODULE is a PYTHON module (GuiPT, GuiMO, GuiVC, GuiIC, GuiPC, GuiSC or GuiRun). Each Python
module can only access variables defined in this module. In other words, you can only set variables shown in the
corresponding panel in CFD-ACE-GUI. In the GuiIC, when the global IC Setting is for all volumes, no object is needed
to set variables. The SetArray function can set an array or list variables. The argument index can be an integer, a
string, or a list of strings and indices.

The grammar for VARIABLE_IDNAME is LEFTTABNAME/PYNAME. In genreral, for GuiMO, GuiVC, GuiBC, GuiPC, and
GuiIC, LEFTTABNAME is the physical module name listed in the GuiPT (Flow, Heat, etc.). For GuiSC, LEFTTABNAME
is same as the left tab shown in the CFD-ACE-GUI SC control panel. Nevertheless, this is not always true since
version 2003.

To obtain the VARIABLE_IDNAME for your variable, use the CFD-ACE-GUI Journaling option.

There are some general rules for VARIABLE_IDNAME:

• If Value is boolean type (0 or 1) and value is 1.


• Shared can be dropped. PY_MODULE.Set(”PYNAME”) is equivalent to
PY_MODULE.Set(”Shared/PYNAME”)
• No space is allowed in the PYNAME
• 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.

GetGeomObjByName

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

260
Appendix A Python Scripting

Returns
Objects. If the size of objects is zero, none of volume (boundary) is found.

GetGeomObjByGrpName

Prototype
GetGeomObjByGrpName(GrpNameList,List=None)
Description
Find the objects from given group names.
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.

GetGeomObjByZone

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

GetGeomObjByType

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

Prototype

261
CFD-FASTRAN V2014.0 User Manual

Group(objects,grpid="")
Description
Group the given objects with group ID = grpid.
Inputs
Objects - A key, key list, or objects return by pick functions.
grpid Given grpid. The default value is empty, if so, the grpid will be generated automatically.

Ungroup

Prototype
Ungroup(objects)
Description
Ungroup the given objects.
Inputs
Objects - A key, key list, or objects return by pick functions.

GuiFILE
In this Python module, the following functions are available:

GuiFILE.Open

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.

GuiFILE.Save

Prototype
GuiFILE.Save()
Description
Save the current DTF File.

GuiFILE.SaveAs

Prototype
GuiFILE.SaveAs(filename)
Description
Save as a different DTF File.

GuiFILE.Submit

Prototype
GuiFILE.Submit()

262
Appendix A Python Scripting

Description
Submit the job.

GuiFILE.Stop

Prototype
GuiFILE.Stop()
Description
Stop the job submitted.

GuiFILE.DefinePara

Prototype
GuiFILE.DefinePara(name)
Description
Define parametrics for the current active simulation

GuiFILE.OpenMMD

Prototype
GuiFILE.OpenMMD(filename)
Description
Open the material database file. (extension: MMD)

GuiFILE.OpenSMD

Prototype
GuiFILE.OpenSMD(filename)
Description
Open the surface reaction database file. (extension: SMD)

GuiFILE.OpenRMD

Prototype
GuiFILE.OpenRMD(filename)
Description
Open the bulk reaction database file. (extension: RMD)

GuiFILE.OpenPMD

Prototype
GuiFILE.OpenPMD(filename)
Description
Open the property database file. (extension: RMD)

GuiFILE.OpenChemkinData

Prototype
GuiFILE.OpenChemkinData(GasphaseFile, SurfaceChemFile,ThemoFile)

263
CFD-FASTRAN V2014.0 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

GuiFILE.ProcessChemkinData

Prototype
GuiFILE.ProcessChemkinData()
Description
Process Chemkin data base file which is already given in the DTF file after you open it.

GuiFILE.SetScaling

Prototype
GuiFILE.SetScaling(new_scaling)
Description
Set the physical scaling of the current active simulation.

GuiFILE.SetUserSharedLib

Prototype
GuiFILE.SetUserSharedLib(lib_name)
Description
Set the user shared library of the current active simulation

GuiML (GUI Models)

Radiation Model Operations

Set the radiation model using Python Scripting


1. Select the radiation module, GuiPT.Set("Rad"). Without this step, the following operations are
meaningless.
2. Choose a model:
3. DOM Model: GuiMO.Set("Rad/Model", "Discrete Ordinate Method")
4. STS Model: GuiMO.Set("Rad/Model", "Surface to Surface")
5. Monte Carlo Model: GuiMO.Set("Rad/Model", "Monte Carlo")
6. Only the DOM and STS models can be defined in the Radiation Model.

264
Appendix A Python Scripting

7. Get the radiation model python object and assign to a variable, for example, Radmodel.
Radmodel=GuiML.GetRadiationModel()
8. 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.

DOM Model
Radmodel.SetNonGray

Prototype
Radmodel.SetNonGray(value)
Description
Turn on (value=1) or off (value=0) the Non-Gray option.

Radmodel.SetNumberOfBands

Prototype
Radmodel.SetNumberOfBands(N)
Description
Set number of bands to N

Radmodel.SetNumberOfEmSets

Prototype
Radmodel.SetNumberOfEmSets(N)
Description
Set number of emissivity sets to N, default value N=1

Radmodel.SetNumberOfAbsorpCoSets

Prototype
Radmodel.SetNumberOfAbsorpCoSets(N)
Description
Set number of absorp. coefficient sets to N, default value N=2

Radmodel.SetEmSetName

Prototype
Radmodel.SetEmSetName(i, Name)
Description
Set the i-th emissivity sets' name to 'Name'.

Radmodel.SetEmissivity

Prototype
Radmodel.SetEmissivity(i, iband,Value)
Description

265
CFD-FASTRAN V2014.0 User Manual

Set the i-th emissivity sets' emissivity to 'Value' for the band number iband

Radmodel.SetAbsorpSetName

Prototype
Radmodel.SetAbsorpSetName(i, Name)
Description
Set the i-th absorp. coefficient sets' name to 'Name'

Radmodel.SetAbsorpCoeff

Prototype
Radmodel.SetAbsorpCoeff (i, iband,Value)
Description
Set the i-th absorp. coefficient sets' coefficient to 'Value' for the band number iband

Radmodel.SetWaveLengthEnd

Prototype
Radmodel.SetWaveLengthEnd(iband,value)
Description
Set the end of the wave length of the bank number 'ibank'

STS Model
Radmodel.SetAccuracy

Prototype
Radmodel.SetAccuracy(level)
Description
Set the accuracy to level: "Extremely high”, "High”, "Moderate”, or "Low”. Default: "Moderate”

Radmodel.SetSubiteration

Prototype
Radmodel.SetSubiteration(num)
Description
Set the subiteration number to 'num'. Default: 1

Radmodel.SetEnvT

Prototype
Radmodel.SetEnvT(value)
Description
Set the environmental temperature to 'value'. Default: 300

266
Appendix A Python Scripting

Radmodel.SetSolarIrradiation

Prototype
Radmodel.SetSolarIrradiation(value)
Description
Turn on solar irradiation (value=1) or off (value=0)

Radmodel.SetNumberOfSources

Prototype
Radmodel.SetNumberOfSources(N)
Description
Set number of radiation sources to 'N'. This function is availabe only solar irradiation option is turned on

Radmodel.SetRadiationSource

Prototype
Radmodel.SetRadiationSource(i, x, y, z, density)
Description
Set values of the ith radiation souce: direction (x, y, z) and density

Radmodel.SetNumberOfEmSets

Prototype
Radmodel.SetNumberOfEmSets(N)
Description
Set number of emissivity sets to N. Default: N=1

Radmodel.SetEmSetName

Prototype
Radmodel.SetEmSetName(i, Name)
Description
Set the i-th emissivity sets' name to 'Name'.

Radmodel.SetEmissivity

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

267
CFD-FASTRAN V2014.0 User Manual

GuiMO.Set("Rad/Model","Discrete Ordinate Method")


radmodel=GuiML.GetRadiationModel()
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)
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)

268
Appendix A Python Scripting

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

269
CFD-FASTRAN V2014.0 User Manual

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

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 include the following:

Model Name Description


Shared Shared Module

Flow Flow

Heat Heat Transfer (Heat)

Turb Turbulence (Turb)

Chem Chemistry

Scalar User Scalar (Scalar)

Rad Radiation (Rad)

Spray Spray

VOF Free Surfaces (VOF)

Fuid2 Two-Fluid (Fluid2)

Cav Cavitation (Cav)

Deform Grid Deformation (Deform)

Stress Stress

270
Appendix A Python Scripting

Plasma Plasma

Electr Electric (Electr)

Magnet Magnetic (Magnet)

Eplate Electroplating (Eplate)

Kinetic Kinetic

Semi Semi Device

GuiBC (Boundary Conditions)


GuiBC.Set

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:


GuiBC.SetArraySize

Prototype
GuiBC.SetArraySize(objects,"ModuleName/PYNAME",size)
Description
Set the top dimension of an array.

GuiBC.SetArraySize

Prototype
GuiBC.SetArraySize(objects,"ModuleName/PYNAME",index, size)
Description
Set the dimension size of an array which has multiple dimension.

GuiBC.SetArray

Prototype
GuiBC.SetArray(objects, "ModuleName/PYNAME", index, value)
Description
Set the value of an array at position given by index.
For array variables, PYNAME must be array type. Remember that "index” can be a integer (1-based), a
string or a list of integers and strings. For example, for a two-dimensional array A, to set the value of

271
CFD-FASTRAN V2014.0 User Manual

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

GetAllGeomObj

Prototype
GetAllGeomObj()
Description
Get all the boundary geometry objects.

GetGeomObjByName

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.

GetGeomObjByGrpName

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.

GetGeomObjByZone

Prototype
GetGeomObjByZone(ZoneList, Region=None)
Description
Find the boundary geometry objects from given zones
Inputs
ZoneList a integer or a python integer list
Region objects object, the default value is None
Returns
objects object

272
Appendix A Python Scripting

GetGeomObjByType

Prototype
GetGeomObjByType(TypeList, Region=None)
Description
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.

Group

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.

Ungroup

Prototype
Ungroup(objects)
Description
Ungroup the given boundary geometry objects.
Inputs
objects A key, key list, or boundary geometry objects return by pick functions.

SetArbInterface

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.

273
CFD-FASTRAN V2014.0 User Manual

GuiIC (Initial Conditions)


GuiIC.Set

Prototype
GuiIC.Set("Shared/PYNAME",Value)

Description
For IC Setting related variables or when IC_Setting="For All Volumes”, use this prototype.

GuiIC.Set

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:


GuiIC.SetArraySize

Prototype
GuiIC.SetArraySize(objects,"ModuleName/PYNAME",size)
Description
Set the top dimension of an array.

GuiIC.SetArraySize

Prototype
GuiIC.SetArraySize(objects,"ModuleName/PYNAME",index, size)
Description
Set the dimension size of an array which has multiple dimension.

GuiIC.SetArray

Prototype
GuiIC.SetArray(objects, "ModuleName/PYNAME", index, value)
Description
Set the value of an array at position given by index.
Note For array variables, PYNAME must be array type. Remember that "index” can be a integer (1-based),
a string or a list of integers and strings. For example, for a two-dimensional array A, to set the value of

274
Appendix A Python Scripting

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

Group

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.

Ungroup

Prototype
Ungroup(objects)
Description
Ungroup the given volume geometry objects.
Inputs
objects A key, key list, or volume geometry objects return by pick functions.

GuiMO (Module Options)


GuiMO.Set

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:


GuiMO.SetArraySize

Prototype
GuiMO.SetArraySize("ModuleName/PYNAME",size)

GuiMO.SetArray

Prototype
GuiMO.SetArray("ModuleName/PYNAME", index, value)

275
CFD-FASTRAN V2014.0 User Manual

GuiOut (Output Controls)


GuiOut.Set

Prototype
GuiOut.Set("TabName/PYNAME",Value)

For array variables:


GuiOut.SetArraySize

Prototype
GuiOut.SetArraySize("TabName/PYNAME",size)
Prototype
GuiOut.SetArray("TabName/PYNAME",index, value)

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.

GuiPC.AddPoint

Prototype
GuiPC.AddPoint(pointnames)
Description
Add a point with given name to the simulation.
Inputs
pointnames A name, name list, or geometry objects return by pick functions.

GuiPC.DeletePoint

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.

GuiPC.Set

Prototype
GuiPC.Set(pointnames, "TabName/PYNAME",Value)

276
Appendix A Python Scripting

Description
Set the variables associated with pointnames.

For array variables:


GuiPC.SetArraySize

Prototype
GuiPC.SetArraySize(pointnames, "TabName/PYNAME",size)

GuiPC.SetArray

Prototype
GuiPC.SetArray(pointnames, "TabName/PYNAME",index, value)

GuiRun (Run Controls)


GuiRun.Set

Prototype
GuiRun.Set("VARIABLE_IDNAME",Value)

For array variables:


GuiRun.SetArraySize

Prototype
GuiRun.SetArraySize("VARIABLE_IDNAME ",size)

GuiRun.SetArray

Prototype
GuiRun.SetArray("VARIABLE_IDNAME ",index, value)

GuiSC (Solver Controls)


GuiSC.Set

Prototype
GuiSC.Set("TabName/PYNAME",Value)

277
CFD-FASTRAN V2014.0 User Manual

For array variables:


GuiSC.SetArraySize

Prototype
GuiSC.SetArraySize("TabName/PYNAME",size)

GuiSC.SetArray

Prototype
GuiSC.SetArray("TabName/PYNAME",index, value)

GuiVC (Volume Conditions)


GuiVC.Set

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.

GuiVC.Set

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:


GuiVC.SetArraySize

Protoype
GuiVC.SetArraySize(objects,"ModuleName/PYNAME",size)
Description
Set the top dimension of an array.

GuiVC.SetArraySize

Protoype
GuiVC.SetArraySize(objects,"ModuleName/PYNAME",index, size)
Description
Set the dimension size of an array which has multiple dimension.

278
Appendix A Python Scripting

GuiVC.SetArray

Protoype
GuiVC.SetArray(objects, "ModuleName/PYNAME", index, value)
Description
Set the value of an array at position given by index.
For array variables, PYNAME must be an array type. Remember that "index” can be a integer (1-based), a
string or a list of integers and strings. For example, for a two-dimensional array A, to set the value of
A(2,3), you have to set index=[2,3]. For a one-dimensional array under a list B, you can set index=[”xyz”,3]
to change the corresponding value.
The objects can be a key (an integer), a list of keys (python integer list), or volume geometry objects (any
of the following functions return)

vcobjs=GetAllGeomObj

Protoype
vcobjs=GetAllGeomObj()
Description
Get all the volume geometry objects.

vcobjs = GetGeomObjByName

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.

vcobjs = GetGeomObjByGrpName

Protoype
vcobjs = GetGeomObjByGrpName(GrpNameList, Region=None)
Description
Find the volume geometry objects by group names
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.

279
CFD-FASTRAN V2014.0 User Manual

vcobjs = GetGeomObjByZone

Protoype
vcobjs = GetGeomObjByZone(ZoneList, Region=None)
Description
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.

vcobjs = GetGeomObjByType

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.

Group

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.

Ungroup

Protoype
Ungroup(objects)
Description
Ungroup the given volume geometry objects.
Inputs
objects A key, key list, or volume geometry objects return by pick functions.

importMaterialFromDB

Prototype

280
Appendix A Python Scripting

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

281
Chapter 17. Appendix B DTF Utility

Common Uses
The DTF utility is best used to verify that a DTF file is not corrupted and to make simple changes without starting
the Graphical User Interface. 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 GUI is very convenient with the DTF utility. For example, you may
want to change the number of iterations or the pressure equation’s relaxation factor. If you know the name of the
simulation data variable that controls what you want to change, you only need to run the update data function of
the DTF utility.

The view data function can even help if you do not remember the exact spelling of the variable. Sometimes,
deleting your results is desirable, such as when you need more disk space and can regenerate the results quickly
from the inputs.

Usage
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 DTF -command [file]

where '-command’ is

-i = Info

-c[v][h] = Contents[Verbose][Html]

-vd = View Data

-ud = Update Data

-t = Test

-tp = Test Patches

-[f]del_sim = Delete Simulation

-[f]del_zone = Delete Zone

-[f]del_sd = Delete Simulation Data

-[f]del_zd = Delete Zone Data

-[f]del_all_sd = Delete All Simulation Data

-[f]del_all_zd = Delete All Zone Data

283
CFD-FASTRAN V2014.0 User Manual

-rle = Update file rle data

-ph = Print entire array referenced by handle

-unlock = Unlock this file

-tc = Test connectivity in all zones

-tag_bad_bc = Tag unassociated bfaces as DEFAULT_BC

-set_scaling = Set the scaling factor for this file

-storage_info = Print out data storage information

You can find information about each command line option by issuing the command with no arguments, such as the
following:

% DTF -del_sim
Usage: DTF -del_sim file.DTF Simnum
Delete simulation number Simnum in file.DTF

DTF Command-Line Utility


The subject of this Appendix is the DTF command-line utility. DTF, the utility, provides basic information and simple
manipulations about DTF files.

The basic information ranges from 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 human-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. The deletion can be of specific data arrays in a zone or simulation, or it can delete all of the data arrays.
The DTF utility can even delete entire zones and simulations if that is your desire.

The DTF utility cannot modify boundary conditions, volume conditions, cell data, face data, or nodal data, because
this information is stored inside complex (and very efficient) data structures.

Note How do you change the inlet velocity with the DTF utility? You can’t. The inlet velocity is contained in a
boundary condition record, and the DTF utility does not modify data in these records.

Examples

GETTING BASIC INFO

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:

284
Appendix B DTF Utility

DTF -i file.DTF

VIEWING ALL 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 don’t 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 to a file.

PRINTING ONE VARIABLE

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 from a contents dump, you can run:

DTF -ph file.DTF <section>

CHANGING 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 type for the specified simulation number to
standard out which is redirected to a temporary file here:

DTF -vd file.DTF 1 > foobar

where "1” is the simulation number. This allows easy reviewing of the various inputs for this simulation and the
opportunity to change them without using the GUI. 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 1 < foobar

Alternatively, you can pipe directly into DTF:

echo 'MAX_ITER int 1 100’ | DTF -ud file.DTF 1

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

285
CFD-FASTRAN V2014.0 User Manual

TEST FILE INTEGRITY

You can issue the command:

DTF -t file.DTF

to check the file for both integrity (all sections that are referenced actually exist) and for valid data (all single and
double precision data arrays contain finite numbers and no NaN’s).

TEST FOR BAD PATCH DATA

You can test for overlapping patches for structured grids 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.

TEST FOR GRID CONNECTIVITY

In order to verify the connectivity information of a particular simulation in a DTF file, execute:

DTF -tc file.DTF 1

This inherently checks file integrity, index ranges, and boundary face associations.

FLAG BAD BOUNDARY FACES

The connectivity testing may reveal unassociated boundary faces in a simulation. Executing "DTF -tag_bad_bc
file.DTF 1” will associate these boundary faces with a "BAD_BC” BC record that can be modified in CFD-GUI.

DELETING A SIMULATION

You can delete a specific simulation from the file by issuing the command:

DTF -del_sim file.DTF 1

This will delete the simulation numbered 1 from the DTF file after asking for confirmation.

DELETING A ZONE

You can delete a specific zone from a simulation in a file by issuing the command:

DTF -del_zone file.DTF 1 <zone>

This will delete the zone numbered zone from the simulation numbered 1 in the DTF file after asking for
confirmation.

286
Appendix B DTF Utility

APPLYING DATA COMPRESSION

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

UNLOCK A DTF FILE

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 or has crashed. Sometimes an application may be in the
process of writing to a DTF file and have a lock on it. For example, if you are writing to a DTF file using CFD-
FASTRAN-GUI and simultaneously trying to read it in CFD-VIEW, you may get a locked message. If CFD-FASTRAN-
GUI were then to suddenly die, the DTF file could be left in a locked state, thus inaccessible to other applications.

If you are certain there are no processes holding a locked DTF file open, you can unlock it with:

DTF -unlock file.DTF

287
Chapter 18. Appendix C Problem-Solving
Strategies

Boundary Condition Issues


Inflow and outflow boundaries should be located where the primitive variables (p, U, V, W, T) are known. This is
not always possible. In the event that you do not know the flow state at an inflow or outflow boundary, some
systematic study of the effect of the assumed values on the final results, should be planned.

Fixed Pressure Outflow


It is important to specify "reasonable” boundary values for all flow variables at fixed pressure exit boundaries
because inflow can occur at these boundaries either temporarily during the course of the solution process or at the
final solution. When inflow occurs, the boundary values are transported into the calculation domain. If the
provided boundary values are unreasonable, then their effect can be to corrupt the final solution,or, even, to
cause the solution process to diverge.

Inflow Turbulence Values


When using one of the two-equation turbulence models, you will be required to enter values of k and either ε or
ω. Care must be taken when specifying these values at inlets, as the values for k, ε, and ω remain constant on inlet
boundary conditions. This is usually only critical for internal flows, as the turbulent kinetic energy will quickly damp
out in external flows if no obstruction is encountered. With the k-ω turbulence model a non-zero values for k and
ω must be supplied at the inlet. Below are equations which can help you determine these values.

For external flows, the following equations are applicable.

1. Determine the turbulence kinetic energy (k)where k is estimated as

2. Determine the dissipation rate of turbulence kinetic energy (e) by

3. Determine the turbulent vorticity (ω), by

For internal flows, the following approach has been used with success:

1. Determine the turbulence kinetic energy (k) where k is defined as

289
CFD-FASTRAN V2014.0 User Manual

and where

u', v', w' = perturbation velocities about the mean velocities U, V, and W, respectively.

Many times the ratio of the perturbation velocity to the free stream velocity is experimentally known. This
ratio is called the turbulence intensity. If the turbulence intensity is known, then it is relatively easy to
estimate the turbulence kinetic energy using the mean or inlet velocity.

If the turbulence intensity is unknown, start with a turbulence intensity value of three percent to estimate
the turbulence kinetic energy and then, if possible, do a sensitivity analysis on this value to determine the
sensitivity of the solution to this parameter.

2. After determining k, the dissipation rate of turbulence kinetic energy (ε) can be determined using the
following formula

where

C µ = constant, normally 0.09


L = inlet height or diameter.

This formula assumes that the characteristic length scale for the turbulent eddies is approximately 0.3% of
the size of the inlet.

Define the Boundary Geometry


The fluid region to be modeled is bounded by some solid geometry which is an aerodynamic body or wall of some
type. Optionally, a far field boundary must be artificially placed, far enough that the results are not affected by this
arbitrary choice of "far away”. The fluid boundaries are usually provided in one or more of the following forms:

• Drawings of the geometry of the body of interest


• Point data
• Analytic description
• CAD file in IGES (Initial Graphics Exchange Standard) format

Based on inspection of the geometry, some major decisions must be made regarding how much geometric detail
to include. Too much detail will lead to a very large model, with very long solution times. Not enough detail may
compromise the intended use of the simulation results.

290
Appendix C Problem-Solving Strategies

The decision on how much geometric detail is normally influenced by two things: first, the level of geometric detail
necessary to solve the problem, and, second, the placement of boundary conditions.

Geometric Detail
Determining the level of geometric detail needed to adequately resolve the problem under study is sometimes
difficult. Answer the following questions to determine a good starting point:

• How large is the geometric feature compared to the boundary layer? If the geometric feature is small
compared to the boundary layer thickness, it can be eliminated.
• Can you afford the grid required to resolve this geometric feature? Although this question may seem
irrelevant to the purist, in reality, time and computing constraints often drive decisions about geometric
complexity.
• Can you take advantage of symmetry to reduce the size of the domain? Taking advantage of planes of
symmetry or periodic surfaces can be extremely rewarding as it reduces the required geometry by half, or
more.

Placement of Inflow/Outflow Boundaries


Placement of inflow and outflow boundaries is arbitrary but very important. As discussed above, for external flow
fields, the farfield boundaries should be far away from the body of interest, so that the effect of any assumptions
at these boundaries does not affect the results.

For purely supersonic flow fields, the direction of disturbance propagation is well defined and locating boundaries
is fairly simple. The area of study has no influence on upstream boundaries, so their placement is noncritical. At
outflow boundaries, properties are transported from the interior of the domain to the boundary; so, outflow
boundary placement does not have a dramatic effect on the results obtained.

For subsonic or incompressible flow, disturbances propagate in all directions and greater care must be taken in
locating boundaries. In these situations, boundaries must be placed where the properties of the fluid are well
known. This placement usually requires moving the boundaries far enough away from the area of study so that the
fluid properties can be considered constant. A general rule of thumb for subsonic external flow problems is to
place the boundaries 5 to 10 'body lengths’ from the main geometry.

Develop Models Systematically


When beginning a new simulation, particularly when you are new to the program or are simulating a new type of
problem, we strongly recommend that you follow a step-by-step approach in constructing your final model. The
benefits of such an approach are that you can isolate and overcome any potential problems with a minimum of
time and effort. Following are the elements of this staged approach:

• Start with a two-dimensional model, if possible, and use a small number of cells, say 5,000. If a three-
dimensional model is absolutely necessary, then try to restrict your initial grid to 12,000 cells. Small
models can be tested quickly for setup errors. Post-processing procedures and scripts can be developed
and tested more easily. Once a small model is working, scale-up to a bigger grid creates no new
uncertainties.

291
CFD-FASTRAN V2014.0 User Manual

• Start with the simplest possible representation of the flow physics, perhaps even by eliminating certain
physical models, that is, by solving for inviscid flow instead of turbulent flow.
• Add the necessary physical models and increase the complexity of the models until you reach the desired
degree of complexity.
• Finally, refine the grid. Do not do this arbitrarily, for example, by doubling the number of cells in each
direction. Instead, pursue refinement in the regions of large gradients, of any variable.

Gridding Issues
While the preparation of the computational grid is relatively straightforward, there are a few points to note

In general, CFD-FASTRAN accepts any arbitrary structured or unstructured grid generated by an external program,
but there are some exceptions. When generating grids, keep the following points in mind:

• Volume calculations require a right-handed grid.


• CFD-FASTRAN imposes certain restrictions on 2-D grids
• Interfaces between domains require one to one mapping of points.
• Domains or flow passages of only a single cell width are not permitted.
• Grid non-orthogonality and abrupt grid spacing changes can have a negative impact on convergence.
• Wall boundary conditions for turbulence models require a particular near-wall cell size.
• A Chimera grid requires adequate, comparable resolution in the region of overlap, in order to provide
valid interpolants between overset domains.

These topics are further discussed below.

Volume Calculations
The volume calculations performed in CFD-FASTRAN require that the grid must have a locally right-handed
coordinate system. If i, j, and k are unit vectors constructed at the vertices of the grid and pointing in the grid I-, J-,
and K-directions, then we must have

where k is aligned with the z-axis for two-dimensional grids. The CFD-GEOM program does not allow you to create
a left-handed grid, so this problem is only likely to occur when importing meshes from other programs via CFD-
Toolkit. You can also use CFD-GEOM to check grids created by other programs by reading the grid, usually in
Plot3D format, and by using the Volume Check option from the Grid Quality tools. A large number of negative cell
volumes usually indicates a left-handed grid system.

Two-Dimensional Grids
All two-dimensional grids must be constructed in the x-y plane; all z-coordinates must be zero.

292
Appendix C Problem-Solving Strategies

Narrow Domains and Flow Passages


When modeling problems with narrow domains or flow passages, it is often difficult to pack many cells into each
passage. Nonetheless, you should never generate a grid, or define blockages on a grid, such that there is only a
single cell across the width of the domain or flow passage. At least two cells are required between boundaries
and/or blockages so that the program can extrapolate pressures to the blockage surface or to the boundary. If the
k-e turbulence model, or one of its variants, is used, you should not have less than three cells across the width of a
flow passage; otherwise, the wall functions fix the values of k and e to unrealistic values. Note that three cells is
too few for a reasonable solution; at least ten cells would be much better.

Grid Quality
One of the most important points to keep in mind during grid generation is the beneficial effect of grid
orthogonality on convergence of the solution process. While solutions have been obtained with very skewed grids
with included angles as small as 2°, try to create grids with included angles no smaller than 25° for structured grids.
(Obtaining converged solutions becomes increasingly difficult as the angle decreases.)

Additionally, having grid angles and cell widths that gradually change across a grid is helpful to both convergence
and solution accuracy. Vary grid spacing so as to obtain adequate resolution where gradients are large but not to
waste cells where gradients are small; smooth transitions from small cells to large cells are desirable. CFD-GEOM’s
Orthogonality Check option (in the Grid Quality tools) is useful for isolating grid regions with a high degree of
skewness.

Near-Wall Cell Size for Turbulence Models


The k-e model uses wall functions to account for near-wall effects. For best results from the wall functions, set the
+
nondimensional wall distance, y , within the range of 40 to 200. The Baldwin-Lomax and the k-ω models do not
+ +
have wall functions, and require a y spacing on the order of 1 to 5. You can check the y values easily, as they are
the first variable of the model.2.PUSD and are written in the DTF file which can be examined with CFD-VIEW.

Chimera Grid Resolution


To provide adequate interpolation between overset regions of Chimera grids, it is recommended that cell size
roughly be on the same order between the two overset domains. Poor grid resolution in these areas can results in
introduction of ORPHAN points, cells where there exists no valid donor from the overset domain. While CFD-
FASTRAN permits this to happen, it is strongly recommended this be avoided when possible. Be sure to check the
ORPHAN file when running a Chimera mode to check to see how many, if any, ORPHANS exist in the grid. Secondly,
care must be taken when specifying the number of buffer layers to blank around the hole cutting surface. For some
grids, one buffer layer specification may be adequate, while another may introduce ORPHANS. Also, if the grid in
which you are cutting the hole contains a solid surface, care must be taken to not blank the nodes adjacent to this
surface. If this happens, the code will terminate. It is suggested that at least several layers of cells be left
unblanked around any solid surface in order to obtain an adequate solution.

293
CFD-FASTRAN V2014.0 User Manual

Focus on the Fluid Region


The first step in planning a simulation is deciding what region of fluid to model. CFD-FASTRAN only models fluids,
actually only ideal gases and mixtures of reacting ideal gases; it cannot solve for any aspect of the behavior or
condition of liquids or solids. It is a misstatement to say "I am modeling a missile at angle of attack”; rather, if you
are communicating to someone with no previous exposure to CFD, you should say "I am modeling the flow over a
missile at angle of attack.”

Initial Condition Issues


When steady state simulations are performed, initial conditions are merely initial guesses. They do not influence
the final solution; however, they do influence the convergence path to the final solution. Therefore, it is still
important to provide reasonable initial values for the dependent variables.

As much as possible, the initial conditions should be consistent with the boundary conditions, i.e. physically
realizable. The more physically realizable the initial combination of boundary conditions and initial conditions is,
the fewer problems you will experience with convergence.

k and e
Set the values of k and e such that the turbulent viscosity is greater than or equal to the laminar viscosity.
Turbulent viscosity is calculated using the following equation:

Density
Provide a reasonable value of density by specifying reasonable values for temperature and pressure.

Pressure
Usually, when fixed-mass flow-rate inlets are used, initial pressures are set to the exit pressure.

Numerical Issues
Because of the nonlinear nature of the governing equations and the wide variety of flow problems that can be
posed, the convergence of the iterative solution process cannot be guaranteed. However, there are several
parameters that can be adjusted to assist the convergence of the solution and these are discussed in this section.

294
Appendix C Problem-Solving Strategies

Differencing Schemes
Two upwind differencing schemes are offered, with a variety of higher order limiters available. First order, while
the least accurate, is the most robust. If you encounter difficulties obtaining a solution with the higher-order
limiters, obtain a solution with the first order upwind scheme and use that solution as the initial guess for a
subsequent solution using the higher-order limiter.

Roe’s FDS
Roe’s Scheme is the default upwind scheme. Roe’s scheme is considered to be non-monotone which means that
erroneous extrema may be introduced into the flow solution, such as expansion shocks. This difficulty can be
removed by specifying an entropy fix (see below) and/or selecting a higher order Flux Limiter. In general, Roe’s
scheme is less dissipative than Van Leer’s scheme in boundary layers. However, for some cases, Roe’s scheme is
less robust than Van Leer’s scheme. To increase the robustness of Roe’s scheme at the penalty of increasing
numerical dissipation, the Entropy Fix can be used.

Van-Leer’s FVS
Van Leer’s scheme is considered to be monotone which means that a dispersion (numerical oscillation) is unlikely
to occur within a flow near a strong gradient, such as a shock. However, Van Leer’s scheme is more dissipative than
Roe’s scheme in boundary/shear layers which may cause it to be less accurate if viscous forces or viscous effects
are highly important. Van Leer’s dissipative effects also cause it to be typically more robust then Roe’s scheme.
Note, Van Leer’s scheme has been tailored for transonic flows and should provide better transonic shock structure
than Roe’s scheme

Entropy Fix
The Entropy Fix is a requirement of Roe’s first order scheme if supersonic expansions are expected within a flow.
This fix removes the presence of expansion shocks at the sonic point. The effect of introducing the Entropy Fix is to
increase the numerical dissipation of the scheme. This effect can be useful for problems that are difficult to
converge. Suggested values for the entropy fix are 0.1 or 0.2.

CFL/Time-step
The maximum CFL obtainable will depend upon the time integration scheme chosen, the quality of the grid, as well
as the severity of the problem. Explicit schemes typically have CFL numbers on the order of 1 while implicit
schemes can have CFL number on the order of 10’s or 100’s. It is useful to begin the solution with a lower CFL, and
increase to a higher CFL over a set number of iterations, specified by 'ramping iterations’. A typical starting CFL for
an inviscid problem run fully implicit may be on the order of 0.5 to 1.0, ramping to 100 or 200 over 200 iterations.
If this same problem were viscous, it has been our experience that the maximum CFL obtainable will be roughly an
-3
order of magnitude less, on the order of 10 to 20. For explicit this may be a starting CFL of 1.0e , ramping to a final
CFL of 1. If running in a Point Implicit mode, expect the maximum obtainable CFL to be less than that achievable for
fully implicit.

295
CFD-FASTRAN V2014.0 User Manual

Plan, Plan, Plan


CFD is still an emerging technology. Some planning is required to develop a computational grid that is "good
enough” but will run within limits on the computer hardware and the turnaround time. Some thought must be
given to the computational domain - what to model, what are the model boundaries, and what are the boundary
conditions and initial conditions. In short, the model one builds, is dependent upon the results one wants to get
from the model, and how long they want to wait for those results.

New users sometimes launch into construction of a CFD model without this awareness. If someone begins the
description of their work with "We are going to model <device, process, system>”, then they are already on the
path to trouble. If, on the other hand, they begin with something like "We are going to determine <something> by
constructing a model of <device, process, system> and conducting numerical tests”, then they are on the path to
success.

Simply put, you MUST construct a question to be answered, and the process by which systematic simulations will
be applied to answer the question, before beginning to construct a CFD model.

296
Chapter 19. Appendix D Mesh Types

Chimera Meshes
Chimera and overset grids are grid systems which overlap each other arbitrarily, as illustrated in Figure 1. They are
applicable to both structured multiblock grid systems and unstructured multizone grid systems. The chimera
method is more flexible for handling complex geometries than patched grids. Chimera grids are widely used
because of their flexibility, and also for problems with bodies in relative motion to one another.

Figure 1 - Overlap

In chimera, parts of individual grid zones that are unimportant or lie inside a solid body are cut away. Figure 2, for
example shows a schematic of an airfoil mesh and a flap mesh where part of the airfoil mesh has been cut out by
the flap mesh. The flap mesh "cuts a hole" in the airfoil mesh so that the airfoil mesh does not have any grid points
laying inside the solid flap geometry.

297
CFD-FASTRAN V2014.0 User Manual

Figure 2

The most common use of chimera methods is in wing-body problems. Separate meshes are used for the wing and
body, and a third "collar" mesh (O-type) is used around the wing-body junction. A second common use of chimera
methods is for store-separation problems.

O-Type Mesh
In an O grid, one coordinate surface (Side 3 in the figure below) is folded over onto the opposite side (Side 4),
making the grid periodic in that direction. The principle idea of using this kind of topology is to keep one whole
surface mapped to a solid wall, so that the clustering required for boundary layer resolution does not propagate
out into the flowfield where (1) it is more refinement than one needs, and (2) small grid cells away from the wall
may cause the solver to take excessively small time steps.

298
Appendix D Mesh Types

O grids are convenient background meshes for external flows because a single face of the computational domain
makes up the entire outer boundary. They are also efficient in their use of grid points. O grids are fully supported
in CFD-GEOM version 2007.

H-Type Meshes
In an H grid, the basic shape of the rectangular computational domain does not change as it is fitted to the
geometry. Figure 1 below shows two H meshes used together to define a cylinder grid.

299
CFD-FASTRAN V2014.0 User Manual

C-Type Structured-Mesh Topology


In a C grid, part of one coordinate surface (Side 1 in the figure below) is folded over on itself. See below how Side 1
becomes the cylinder surface and both the top and bottom sides of the wake cut. Sides 3 and 4 become
downstream boundaries, and Side 2 becomes the inflow/outflow boundary.

300
Appendix D Mesh Types

The advantage of the C grid topology is that the grid clustering on the cylinder persists downstream in the wake of
the cylinder. Because of this feature, C-grids are better than O-grids for capturing the wake region. C grids are
useful for viscous high-speed flows over aerodynamic bodies. However, a C-grid uses more grid points than an O-
grid of the same surface resolution.

In practice, for a wing-body configuration, you can expect a C-type topology to use 50% to 100% more grid points
than the O-grid topology.

Also, C grids are not supported by CFD-GEOM. You may not actually be able to generate a single-zone C-type grid.
You can, however, adopt the principle idea of the C grid by breaking the mesh into 2 halves, upper and lower. The
key idea is that the highly resolved wall boundary layer mesh is carried directly into the wake region. Usually, one
opens up the cross-stream spacing in the wake as the distance away from the cylinder increases.

301
Chapter 20. Thermal Coupling with ACE+
In certain applications, different regions of the computational domain experiences flow conditions that are so
different that it is very difficult for a single solver to produce accurate results at the extremes. In many situations,
such problems can be separated and solved using different solvers that are loosely coupled and each solver chosen
to provide highly accurate solutions for the prevailing flow conditions. A loosely coupled approach between ESI’s
CFD-FASTRAN and CFD-ACE+ has been implemented for aerodynamic heating problems during re-entry.

A large amount of aerodynamic heating over hypersonic vehicles would be generated by the air in the boundary
layer being progressively slowed down. This process generates heat and consequently all external surfaces on the
aircraft are heated. Practically, Thermal Protection System (TPS) materials are employed to prevent the thermal
heating from conducting into the internal cabin, which holds electronic devices, passengers or both. The cost of
experimental studies for hypersonic flows is much higher than low speed flows because of the immense amount of
energy that has to be used to reproduce flight conditions and because the number of facilities equipped to
perform such experiments is very limited. The application of numerical tools such as approximate methods and
directly solving governing flow equations can reduce the number of costly experiments by helping engineers
achieve preliminary designs that are much closer to the final vehicle.

Strictly speaking, aero-heating of the flight vehicle is a time-dependent process. Initially, the material making up
the thermal protection system is at low temperature and "soaks up" the entry heat - the conductivity of the
material transports the heat (from the vehicle surface) through the thickness. The material will also re-radiate
some of the heat back to the flow - the amount depending on the emissivity of the material. It is also possible that
the TPS material could degrade through ablation (i.e., melting, vaporization, pyrolysis, etc.). Independent of the
heating mechanism or material response, it is of utmost importance to keep the bond line at, or below, a
reasonable temperature. The bond line represents the interface between the external (TPS) and internal
(structures, etc.) thermal environments. Almost all TPS sizing computations are performed subject to the
constraint that the bond line temperature not exceeding a specified value. But another primary concern in the
procedure is to estimate the effects of aeroheating on the internal volume of the capsule, which may include
electronic devices, passengers and cooling systems.

In this application, typically the external flow is hypersonic in nature, whereas the flow within the capsule is a very
low speed flow dominated by natural convection. In addition, to hypersonic aerodynamic heating, several other
physics including heat conduction, natural convection and radiation has to be accurately modeled. ESI CFD's CFD-
FASTRAN, a compressible flow solver is ideally suited for the external aerodynamic problem and the multi-physics
solver CFD-ACE+ is ideally suited for the heat transfer/natural convection problem. In this loosely coupled
approach, CFD-FASTRAN is made aware of a FASTRAN-ACE coupling through a special DTF update and a CFD-ACE+
user-subroutine exchanges data between ACE and FASTRAN. The data exchange between the two solvers is
achieved at regular intervals through the 'ubound' user subroutine of CFD-ACE+ and the spatial profile BC of CFD-
FASTRAN.

Theoretical Treatment
In the conjugate problem, continuity of temperature and heat flux at the interface between fluid and solid sides
must be satisfied:

where

303
CFD-FASTRAN V2014.0 User Manual

Tf = the temperature computed from the N-S solution


Ts = the temperature within the solid which is computed from ACE+
∂/∂n = denotes the normal derivative

Activating thermal coupling of CFD-FASTRAN and CFD-


ACE+
To couple CFD-FASTRAN and CFD-ACE+ for a problem of this type, follow these steps:

1. Generate two DTF files: one for external flow and one for the internal flow
2. The grids should share an interface where data exchange happens (that is, the grids should match exactly)
3. Setup external flow problem in CFD-FASTRAN
4. Define CFD-FASTRAN spatial profile BCs at exchange interfaces
5. CFD-FASTRAN is made aware of the coupling with CFD-ACE+ through a special DTF update:

From GUI, follow these steps:

1. Tools > Special DTF Update.


2. In the Special Solver Variables Input box, type THERM_COUP_FASTRAN_ACE int 1 1
3. Click OK and Save DTF.

From command line, follow these steps:

4. DTF -vd fastran_filename.DTF > tmp, a file name 'tmp' will be created
5. Edit 'tmp' by adding THERM_COUP_FASTRAN_ACE int 1 1
6. DTF -ud fastran_filename.DTF < tmp
6. Setup internal flow/heat transfer problem in CFD-ACE+
7. Define CFD-ACE+ user subroutine BCs at exchange interfaces
8. Develop/Modify an 'ubound' subroutine (Contact support for sub routine examples)
9. Start CFD-FASTRAN-SOLVER and CFD-ACE-SOLVER
10. For transient runs, the time step sizes for CFD-FASTRAN and CFD-ACE+ should be identical.

Limitations
The grids on the interface between FASTRAN resolved zones and ACE+ solution zones must match exactly.

304
305

You might also like