Professional Documents
Culture Documents
Cfd-Fastran v2014.0 User Manual
Cfd-Fastran v2014.0 User Manual
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
v
CFD-FASTRAN V2014.0 User Manual
Toolbar ................................................................................................................................................................ 45
vi
Table Of Contents
Blanking ..............................................................................................................................................................81
Grouping .............................................................................................................................................................81
Entity Tags...........................................................................................................................................................82
Volume ID ...........................................................................................................................................................82
Volume Name .....................................................................................................................................................82
Volume Type .......................................................................................................................................................82
vii
CFD-FASTRAN V2014.0 User Manual
viii
Table Of Contents
ix
CFD-FASTRAN V2014.0 User Manual
x
Table Of Contents
xi
Chapter 1. Introduction
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.
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.
• 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
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
• 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:
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.
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"
-or-
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
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.
7
CFD-FASTRAN V2014.0 User Manual
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.
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.
• 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
File Description
CFD-FASTRAN-SOLVER Python script converted to DOS executable which is the unified front-end for
serial and parallel jobs.
10
CFD-FASTRAN Overview
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.
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.
• 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
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.
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 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.
13
CFD-FASTRAN V2014.0 User Manual
14
CFD-FASTRAN Overview
15
CFD-FASTRAN V2014.0 User Manual
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
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
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
• 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.
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.
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
The terminology for commonly-described grid characteristics for structured grids is illustrated in the following
figure:
24
Features and Applications
• 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
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.
26
Features and Applications
Multi-to-one interface
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.
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.
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.
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
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.
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
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.
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.
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
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
MeSH
NASTRAN Requires additional data type and 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
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
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.
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.
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.
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.
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:
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:
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).
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
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.
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.
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
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.
Toolbar Layout
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
46
Chapter 8. Menu Bar
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.
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.
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.
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
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.
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.
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.
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
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
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
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.
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.
Scale - Controls whether the scale measurement of the model 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.
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.
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
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.
64
Menu Bar
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)
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)
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.
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.
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.
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
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:
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
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
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:
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
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.
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.
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.
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.
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.
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
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.
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.
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
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
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.
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.
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.
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.
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
1.8
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
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.
2.5
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
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
2.17
90
Solver Background
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
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
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
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
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
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.
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.
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
2.42
95
CFD-FASTRAN V2014.0 User Manual
2.43
2.44
The first right hand term is evaluated from the polynomial curve fit.
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
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
5.5
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.
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
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
The square root of k is taken to be the velocity scale, while the length scale is modeled as
5.16
5.17
99
CFD-FASTRAN V2014.0 User Manual
5.18
5.19
5.20
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.
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 ω=ε/
101
CFD-FASTRAN V2014.0 User Manual
5.28
5.29
5.30
The model parameters in the above equations are all assigned constant values.
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
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.
5.40
103
CFD-FASTRAN V2014.0 User Manual
5.41
5.42
5.43
5.44
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:
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.
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
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:
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.
6.1
where
108
Solver Background
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.
6.3
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 flux and source vector must be linearized to estimate the fluxes and sources at n+1.
6.7
and
6.8
6.9
The ∂Ff / ∂Q and ∂S/∂Q are the flux Jacobian and source Jacobian, respectively.
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 .
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.
6.11
where
L = left states
R = right states
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
6.13
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
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
6.17
6.18
114
Solver Background
6.19
6.20
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
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.
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
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.
After spatial discretization, the explicit equation to be integrated in time can be written as follows
6.39
where
6.40
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.
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.
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:
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.
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
122
Solver Background
Figure 7-4. Flowchart of Flow Solver and Chimera Coupling for Steady-State or Moving Body
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.
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.
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
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.
127
CFD-FASTRAN V2014.0 User Manual
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-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.
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.
• 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
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.
133
CFD-FASTRAN V2014.0 User Manual
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.
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:
• orientation of the body axis system with respect to the inertial frame of reference
• constraints on motion
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.
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
• 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.
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.
1. Only constant viscosity model is available. Other models such as Sutherland’s are not currently 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.
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.
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.
141
CFD-FASTRAN V2014.0 User Manual
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.
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
where
T0 = reference temperature
m0 = dynamic viscosity at the reference temperature
Si = a constant
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.
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.
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).
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:
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.
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.
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.
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
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.
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.
149
CFD-FASTRAN V2014.0 User Manual
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).
150
Setting Up a Model
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
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.
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.
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.
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.
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
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.
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
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:
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.
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.
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
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.
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.
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 .
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:
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:
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.
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
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.
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
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
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
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
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.
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.
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.
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
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:
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.
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.
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.
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.
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.
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.
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.
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
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..
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.
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.
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
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.
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
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.
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
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.
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
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
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.
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.
where
177
CFD-FASTRAN V2014.0 User Manual
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.
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.
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).
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
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.
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.
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
184
Setting Up a Model
4.1
where w is wall; c is all; g is grid, and nx, ny, nz are the cell face normal components.
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
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.
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
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
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.
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.
189
CFD-FASTRAN V2014.0 User Manual
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:
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.
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.
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
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.
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.
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).
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
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.
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.
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.
Note The Van Leer scheme is not available for unstructured grids (Poly Grid module) or for reacting flows
(Chemistry module).
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
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.
MIN-MOD
This limiter is the minmod(1,r) limiter and provides up to second-order spatial accuracy.
VAN-LEER
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
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.
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.
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.
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
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.
201
CFD-FASTRAN V2014.0 User Manual
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.
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.
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.
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.
203
CFD-FASTRAN V2014.0 User Manual
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).
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.
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).
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).
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.
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.
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.
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
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
208
Setting Up a Model
209
CFD-FASTRAN V2014.0 User Manual
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.
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
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.
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
212
Setting Up a Model
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 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.
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).
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.
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
Domain Decomposition
Assigning of Zones to Processors
Communication across Processors
Domain Decomposition
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.
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.
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.
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).
218
Solver Usage
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.
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.
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:
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.
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:
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
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.
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.
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.
It is recommended to register (cache) the passwords for authentication. This needs to be done once per user for
each machine.
C:\> %ESI_HOME%\20140.0\UTILS\hpplatformmpi-091.01.020.001\bin\mpidiag.exe –s
<hostname> -cache –st
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
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.
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.
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.
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.
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.
225
CFD-FASTRAN V2014.0 User Manual
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.
226
Solver Usage
<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
228
Solver Usage
# e.g. -x|-y|-z|-cell_groups|-orig_topo
229
CFD-FASTRAN V2014.0 User Manual
Communication Costs
Importance of Model Size
Expected Performance from CFD-FASTRAN
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.
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!
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.
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.
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.
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.
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:
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:
Running Cases
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
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:
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:
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.
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
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.
235
CFD-FASTRAN V2014.0 User Manual
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.
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.
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.
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.
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.
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.
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
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.
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.
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.
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.
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
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
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.
The following eight parameters appear only for calorically perfect gases (Gas_Model = 0)
242
Solver Usage
The following eleven parameters appear only for mixing and reacting gases.
REACTIONS MODEL
The following seven parameters appear only for reacting gases. These parameters are for a reaction step.
243
CFD-FASTRAN V2014.0 User Manual
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.)
244
Solver Usage
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
Entf_L Entropy fix used by Roe’s Scheme. Higher values lead to larger numerical
245
CFD-FASTRAN V2014.0 User Manual
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
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)
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).
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
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.
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.
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 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).
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
% ulimit -s unlimited
% ulimit -c unlimited
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
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.
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.
The Run panel is shown in figure 4-1 and a brief description of each function is given below.
254
Solver Usage
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
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).
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.
257
CFD-FASTRAN V2014.0 User Manual
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.
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
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:
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.
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
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
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)
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],...)
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")
Flow Flow
Chem Chemistry
Spray Spray
Stress Stress
270
Appendix A Python Scripting
Plasma Plasma
Kinetic Kinetic
Prototype
GuiBC.Set(objects, "Modulename/PYNAME",Value)
Description
The Modulename is same as the left tab name shown on the GUI BC panel.
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
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.
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.
Prototype
GuiMO.Set("ModuleName/PYNAME",Value)
Description
The Modulename is same as the left tab name shown on the GUI MO panel.
Prototype
GuiMO.SetArraySize("ModuleName/PYNAME",size)
GuiMO.SetArray
Prototype
GuiMO.SetArray("ModuleName/PYNAME", index, value)
275
CFD-FASTRAN V2014.0 User Manual
Prototype
GuiOut.Set("TabName/PYNAME",Value)
Prototype
GuiOut.SetArraySize("TabName/PYNAME",size)
Prototype
GuiOut.SetArray("TabName/PYNAME",index, value)
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.
Prototype
GuiPC.SetArraySize(pointnames, "TabName/PYNAME",size)
GuiPC.SetArray
Prototype
GuiPC.SetArray(pointnames, "TabName/PYNAME",index, value)
Prototype
GuiRun.Set("VARIABLE_IDNAME",Value)
Prototype
GuiRun.SetArraySize("VARIABLE_IDNAME ",size)
GuiRun.SetArray
Prototype
GuiRun.SetArray("VARIABLE_IDNAME ",index, value)
Prototype
GuiSC.Set("TabName/PYNAME",Value)
277
CFD-FASTRAN V2014.0 User Manual
Prototype
GuiSC.SetArraySize("TabName/PYNAME",size)
GuiSC.SetArray
Prototype
GuiSC.SetArray("TabName/PYNAME",index, value)
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.
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]
-t = Test
283
CFD-FASTRAN V2014.0 User Manual
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
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
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
You can look at all the data in a DTF file by creating an HTML document viewable with your favorite web browser.
or
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.
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:
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:
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:
or even just type it in straight from the keyboard (do not forget to end with the control-D character):
285
CFD-FASTRAN V2014.0 User Manual
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).
You can test for overlapping patches for structured grids using the command:
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.
In order to verify the connectivity information of a particular simulation in a DTF file, execute:
This inherently checks file integrity, index ranges, and boundary face associations.
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:
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:
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
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 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:
287
Chapter 18. Appendix C Problem-Solving
Strategies
For internal flows, the following approach has been used with success:
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
This formula assumes that the characteristic length scale for the turbulent eddies is approximately 0.3% of
the size of the inlet.
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.
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.
• 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
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
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.
293
CFD-FASTRAN V2014.0 User Manual
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
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
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
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:
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