Sie sind auf Seite 1von 40

Boundary Conditions / CFX Expression


Lecture 3

28 November 2005
2005 ANSYS, Inc. L3-1
Boundary Conditions
Required on all regions at the outer extremities of the
Domain to be simulated (bound the problem)
Create sensible names for Boundary Conditions (you
dont have to accept the default names)
Select the Domain for the Boundary Condition
(applicable to multi-domain cases).

28 November 2095
2005 ANSYS, Inc.
Basic Settings
Boundary Type
Inlet, Outlet, Opening, Wall,
select from all 2D primitive and
composite regions
Coord Frame
if more than one exists, select
the appropriate frame
Frame Type
available only in a rotating
domain. Allows you to specify
quantities based on a rotating
or stationary (absolute) frame
of reference.

28 November 2095
2005 ANSYS, Inc.
Boundary Details
Options depend on Boundary
Type and Domain settings
i.e. Supersonic availability
depends on Heat Transfer
option chosen on Domain
in this case, only turbulence is
modeled (i.e. no heat transfer
or multicomponent/multiphase

28 November 2095
2005 ANSYS, Inc.
Boundary Condition Types
Where fluid enters the domain: displayed with white arrows
Where fluid leaves the domain: displayed with yellow arrows
Fluid can leave or enter the domain based on local conditions:
displayed with bi-directional blue arrows. Similar setup to Inlet
boundary conditions. Flow direction and pressure are also set
Displayed with green octahedra. No Slip/Free Slip, heat
transfer properties and roughness characteristics can be set.
Used when flow on one side of a plane is a mirror image of
flow on the other side. Can be utilised to reduce the number of
nodes in cases where symmetric flow exists.

28 November 2095
2005 ANSYS, Inc.
Profile Boundary Conditions

It is possible to specify a boundary conditions based on

the interpolation of values from a data file.

It is often useful to use the results of a previous

simulation or experimental results as a boundary
condition for the current simulation

CFX-Pre will generate CEL expressions that refer to the

imported data, using interpolation functions.

This data is automatically generated when creating a

boundary condition using the Profile method.

28 November 2095
2005 ANSYS, Inc.
Steps to implement a Profile
Boundary Condition

Create a BC Profile
file. You can facilitate
this by using the Export
feature of CFX-Post.

Example of the BC file from CFX-Post.

The information on the colour boxes is
needed and will be read automatically by
CFX-Pre. 28 November 2095
2005 ANSYS, Inc.
Steps to implement a Profile
Boundary Condition
Initialize (read in) the profile in CFX-Pre. Do this by
selecting Tools>Initialize Profile Data and selecting
the profile file. You can load multiple profile files and
each file can be applied in more than one locator.

28 November 2095
2005 ANSYS, Inc.
Steps to implement a Profile
Boundary Condition
Assign the profile data to a
boundary condition.
Select the appropriate
profile from the drop-down
list, then click Generate

28 November 2095
2005 ANSYS, Inc.
Steps to implement a Profile
Boundary Condition
The Boundary Details
panel will be modified
to use the profile data.
These changes to the
Boundary Details
panel will not be
applied unless you
click Apply.

28 November 2095
2005 ANSYS, Inc.
Steps to implement a Profile
Boundary Condition
The profile boundary
condition (as well as other
boundary conditions) can be
visualised in CFX-Pre by
using the Plot Options panel
on the boundary condition
editor. You can create a
Boundary Contour or a
Boundary Vector plot of the
profile data.
The profile data is read into
the CFX-Solver each time the
solver is started/restarted
(I.e. the profile file can be
edited between solver runs
without returning to CFX-Pre.

28 November 2095
2005 ANSYS, Inc.
Using a profile in more than
one location
It is possible to apply a profile from one
location to another:
For locations that both have a surface normal
vector of X, Y or Z, export the data as a 2D profile
(for two boundaries with a normal in the Z
direction, export X and Y profile data). The data
from the first boundary can then be used at the
second with no need for modifications to the
If the two boundaries dont have same normal
direction, then edit the data in your profile file
directly to map the locations from the first
boundary to the second

28 November 2095
2005 ANSYS, Inc.
Standard Variable Names

Some variables require a prefix to include the material

name (for example air.vf corresponds to the volume
fraction of air)
Non-standard Variable Names and Custom Variables

28 November 2095
2005 ANSYS, Inc.
Data Interpolation method

For 1D discrete profiles, the topology of the data can be determined

by ordering the raw data based on the given single spatial
coordinate. Linear interpolation is performed between the ordered
raw data points. The data is sorted so that the order of specification
is not important.
For 2D and 3D discrete profiles, a cloud of points algorithm is
used to perform the interpolation. The process involves a fast
lookup of the three nearest raw data points to the evaluation point,
and then application of an inverse distance weighted averaging
procedure. If raw data point lies precisely at the evaluation point
location, the raw data value at that point will be used.
During the solution process, the solver requires values at various
locations, for example at integrations points, nodes and face center
locations, as required by the specifications of the discretisation and
numerical integration process. In all instances, the required location
is determined and the raw data is interpolated to that location.

28 November 2095
2005 ANSYS, Inc.
Extracting Profile Data from
Results Files
When profiles have been read into the CFX-Solver,
they will be written to the .out file under the section
Profile Data if the data size is less than 16K (by
default, although this value can be changed). All
profile data is written to the results file and can be
extracted using the command line utility cfx5dfile,
described next.

28 November 2095
2005 ANSYS, Inc.
Extracting Profile Data from
Results Files
To find out which profile file(s) is/are referenced by the
current results file, enter:
cfx5dfile file_001.res list-profile-files (This outputs a list of all
profile files stored in the results file, one per line)
For any file referenced in the results file, enter:
cfx5dfile file_001.res read-profile-file <profile_name>.csv (To
print the profile data from the file <profile_name> to your terminal
Alternatively, enter:
cfx5dfile file_001.res extract-profile-file <profile_name>.csv
(to write it to the current directory under the name
<profile_name>.csv. If this file already exists in the current
directory, it will not be overwritten)

28 November 2095
2005 ANSYS, Inc.
CFX Expression Language

CEL - CFX Expression Language

CEL is an interpreted, declarative language which

enables users to enhance simulations without
recourse to external Fortran routines
- can access CFX internal solution variables
- are evaluated by the CFX Solver and CFX-Post

28 November 2095
2005 ANSYS, Inc.
CEL Statements
The CFX Expression Language is declarative
declare the name and definition of the expression (and
optional comment or description)
statements must conform to a predefined syntax which is
similar to many programming language mathematical
The statement must consist of the following:
a number, optionally with associated units.
One or more references to constants, system variables,
existing user variables, functions or other CEL expressions,
separated by + (addition), - (subtraction), * (multiplication), /
(division) and ^ (exponentiation), with optional grouping of
these by parentheses
The syntax rules for these expressions are the
same as those for conventional arithmetic
28 November 2095
2005 ANSYS, Inc.
Rules For Expressions
Variables and expressions are case sensitive
Always use brackets to specify the order of operations
Expressions must be dimensionally consistent for
addition and subtraction operations
1.0 [mm] + 0.45 [yds] (valid)
2.5 [s m^-1] - (3.0 [m s^-1])^-1 (valid)
1.0 [mm] + 0.3 [kg] (invalid)

28 November 2095
2005 ANSYS, Inc.
Rules for Expressions
Fractional and decimal
powers are allowed
Units of expressions are
not declared - they are
the result of units in the
(a [kg m^-3] * b [m s^-1])
has units of [kg m^-2 s^-1]

28 November 2095
2005 ANSYS, Inc.
System Variables
A number of system variables have been predefined
for easy access
These variables can be used in any expression
Units have been included
The list of variables can be:
- displayed in Pre by hitting the System Variables and Functions
button in the Expression Editor
- displayed in CFX-Post by viewing the full list of available

28 November 2095
2005 ANSYS, Inc.
System Variables
x Direction 1 in Reference Coordinate Frame
y Direction 2 in Reference Coordinate Frame
z Direction 3 in Reference Coordinate Frame
r Radial spatial location, r = (x^2+y^2)^0.5
theta Angle, arctan(y/x)
t Time
u Velocity in the x coordinate direction
v Velocity in the y coordinate direction
w Velocity in the z coordinate direction
p (absolute) Pressure
ke Turbulent kinetic energy
ed Turbulent eddy dissipation
T Temperature
sstrnr Shear strain rate
density Denstiy
rNoDim Non-dimensional radius (rotating frame only)
viscosity Dynamic Viscosity
Cp Specific Heat Capacity at Constant Pressure
cond Thermal Conductivity
enthalpy Specific Enthalpy
beta Thermal Expansivity
speedofsound Local speed of sound in fluid
subdomain Sub-domain variable (1.0 in Sub-domain, 0.0 elsewhere)
mean diameter Mean Diameter
deneff Effective Density
AV name Additional Variable name
mf Mass Fraction

28 November 2095
2005 ANSYS, Inc.
System Variables
CFX-5 System Variables and
user-defined expressions will be
available or unavailable
depending on the simulation you
are performing and the
expressions you wish to create
In some circumstances, System
Variables are logically
time (t) is not available for
steady-state simulations
Temperature (T) is not
available when heat transfer
is turned off
In others, the availability of a
System Variable is not allowed
for physical model reasons
28 November 2095
2005 ANSYS, Inc.
Built in functions / constants
Some numerical functions and operators are also
available in CEL
Custom functions with user Fortran can also be created
Function Operands Dimensions [x] Operands Values Results Dimensions
sin(x) Angle Any Dimensionless
cos(x) Angle Any Dimensionless
tan(x) ** Angle Any Dimensionless
asin(x) Dimensionless -1 x 1 Angle
acos(x) Dimensionless -1 x 1 Angle
atan(x) Dimensionless Any Angle
exp(x) Dimensionless Any Dimensionless
loge(x) Dimensionless 0<x Dimensionless
log10(x) Dimensionless 0<x Dimensionless
abs(x) Any Any [x]
sqrt(x) Any 0 x [x]^0.5
min(x,y) *** Any Any [x]
max(x,y) *** Any Any [x]
step(x) * Dimensionless Any Dimensionless

*step(x) is 0 for negative x, 1 for positive x and 0.5 for x=0.

** note that tan(x) is undefined for n/2 where n=1, 3, 5 .. .
*** both x and y must have the same dimensions.

28 November 2095
2005 ANSYS, Inc.
Built in operators/functions and
Some constants are also available in CEL for developing
your expressions, these are:
e Constant: 2.7182818
g Acceleration due to gravity: 9.806 [m s^-2]
pi Constant: 3.1415927
R Universal Gas Constant: 8314.5 [m^2 s^-2 K^-1]
You can also define your own 1-D linear, or 3-D cloud
interpolation functions
apply a linear interpolation between input data points and
output a single value
input units and output units are defined by the user
If you require a function which is not available through
CEL, or requires access to certain variables, such as
gradient terms, a user defined function may be created by
linking to a Fortran library

28 November 2095
2005 ANSYS, Inc.
Defining Expressions
Read in from a file
Created in the Expression Editor
Entered directly where needed

Modifying the solver CCL

Editing the .DEF or .RES file
Passed to the solver at the commandline
Post expressions may be used for the solver in this manner

28 November 2095
2005 ANSYS, Inc.
CEL Example: Variable
Mathematical Expression CEL Equivalent
Viscosity of a shear Viscosity as a function of
thickening fluid: temperature
K = 10.0 [kg m^-1 s^-0.5]
K n 1 n = 1.5
ViscT = K * sstrnr ^ (n-1)
where is the shear strain or
rate ViscT = K*(min(UpperS,
where sstrnr is the shear
strain rate provided as a
system variable

The second form of the CEL equation above includes an

upper and lower bound for strain rate to ensure it remains
physically reasonable

28 November 2095
2005 ANSYS, Inc.
Evaluating Expressions

In CFX-Pre
The expression editor has a calculate feature to test
expressions, or plot 1-D results
some values may have to be input manually, since solver
variables will not have values

In the Solver
Expressions are evaluated when the value is needed
Initial guess: at the start of a run
Time dependant boundary condition: at the start of each
Fluid property: inner solver loops between timesteps
Integrated quantities: at the start of each timestep

28 November 2095
2005 ANSYS, Inc.
Expression Editor
Expression Editor
Interactive tool for
developing and managing
expressions within CFX
Available from many panels
and from the Create pull
down menu

28 November 2095
2005 ANSYS, Inc.
CEL Example
The following example shows how to set the viscosity to be a function of
temperature. The viscosity-temperature relation is taken as follows:

e 10T

28 November 2095
2005 ANSYS, Inc.
CEL Example
Alternatively, a file can be constructed with any text
editor and read into the Expression Editor

C1 = 10. [ K^-1 ] # constant

C2 = 1. [ kg/ms ] # constant
vis = C2*exp(-C1*T) # viscosity

28 November 2095
2005 ANSYS, Inc.
CEL Example (B.C.)
The following example shows how to set angular velocity
for a rotating wall using the u and v components :

28 November 2095
2005 ANSYS, Inc.
Integrated Quantities

It is also possible for advanced users to access integration

functions within the solver. These quantities can entered into
an expression and be monitored (see Output Control section
of documentation)
Allow calculation of non-local integrated quantities at
named locations.
Calculate the area average of Cp on an isosurface:
Mass flow of particular fluid through a locator:
@<locator> syntax - must always supply a location.
Phase/component can be selected using [<phase>.]

28 November 2095
2005 ANSYS, Inc.
Integrated Quantities

Predefined functions available

0 or 1 arguments depending on function - see
If 1 argument:
may be an expression in Post; only variables allowed
in solver
return value units depends on argument units (e.g.
consider massAve)

28 November 2095
2005 ANSYS, Inc.
Integrated Quantities

ReqT = 350 [K]
TempOut = areaAve(T)@outlet
TCFilter = step(TempOut/1[K]-ReqT/1[K])
TCTemp = 400[K]*TCFilter+285[K]*(1-TCFilter)
TCFlow = 10[m/s]*TCFilter+2[m/s]*(1-TCFilter)
BOUNDARY : TempControl
Boundary Type = INLET
Location = TempControl
Coord Frame = Coord
Option = Normal Speed
Normal Speed = TCFlow
Option = Static Temperature
Static Temperature = TCTemp

28 November 2095
2005 ANSYS, Inc.
Defining Expressions in Post

In CFX-Post Expressions may be defined by:

using the CFX-Post Expression Editor
entered directly in an object form
entered at the commandline (using Line input mode),
or the Command Editor
read in from a CCL file
read in from a session file
read in from a state file

28 November 2095
2005 ANSYS, Inc.
CFX-Post Functions
CFX-Post provides an additional set of functions:
[<Fluid>.]<function>[_<Axis>[_<Coord Frame>]]([<Expression>])@<Location>
area Area (projected to axis optional)
areaAve Area-weighted average
areaInt Area-weighted integral
ave Arithmetic average
count Number of calculation points
force Force on a surface in the specified direction
forceNorm Magnitude of normalized force on a curve in the specified direction
length Length of a curve
lengthAve Length-weighted average
lengthInt Length-weighted integration
massFlow Total mass flow
massFlowAve Mass-weighted average
massFlowInt Mass-weighted integral
maxVal Maximum Value
minVal Minimum Value

28 November 2095
2005 ANSYS, Inc.
CFX-Post Functions
CFX-Post provides an additional set of functions:

[<Fluid>.]<function>[_<Axis>[_<Coord Frame>]]([<Expression>])@<Location>
probe Value at a point
sum Sum over the calculation points
torque Torque on a surface about the specified axis
volume Volume of a 3-D location
volumeAve Volume-weighted average
volumeInt Volume-weighted integral

28 November 2095
2005 ANSYS, Inc.
CEL Example: Pressure
Mathematical Expression CEL Equivalent

Pressure Coefficient: Pressure Coefficient

P Pref
C press
1 Pref = massFlowAve(P)@inflow

2 DynH = massFlowAve(.5*Density*V^2)@inflow
Cpress = (P - Pref)/DynH


Cpress = (P - massFlowAve(P)@inflow) /

28 November 2095
2005 ANSYS, Inc.
Practical Session

Practical 5: Mixing Tube

Demonstrates how to set up a Profile
Boundary Condition and the use of CEL to
define a variable viscosity.

28 November 2095
2005 ANSYS, Inc.