You are on page 1of 40

Boundary Conditions / CFX Expression

Language

Lecture 3

28 November 2005
2005 ANSYS, Inc. L3-1 ANSYS, Inc. Proprietary
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. L3-2 ANSYS, Inc. Proprietary
Basic Settings
Boundary Type
- Inlet, Outlet, Opening, Wall,
Symmetry
Location
- 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. L3-3 ANSYS, Inc. Proprietary
Boundary Details

Options depend on Boundary


Type and Domain settings
- i.e. Supersonic availability
depends on Heat Transfer
option chosen on Domain
panel
- in this case, only turbulence is
modeled (i.e. no heat transfer
or multicomponent/multiphase
modeling)

28 November 2095
2005 ANSYS, Inc. L3-4 ANSYS, Inc. Proprietary
Boundary Condition Types
Inlet
Where fluid enters the domain: displayed with white arrows
Outlet
Where fluid leaves the domain: displayed with yellow arrows
Opening
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
Wall
Displayed with green octahedra. No Slip/Free Slip, heat
transfer properties and roughness characteristics can be set.
Symmetry
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. L3-5 ANSYS, Inc. Proprietary
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. L3-6 ANSYS, Inc. Proprietary
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. L3-7 ANSYS, Inc. Proprietary
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. L3-8 ANSYS, Inc. Proprietary
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
Values.

28 November 2095
2005 ANSYS, Inc. L3-9 ANSYS, Inc. Proprietary
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. L3-10 ANSYS, Inc. Proprietary
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. L3-11 ANSYS, Inc. Proprietary
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
data.
- 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. L3-12 ANSYS, Inc. Proprietary
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. L3-13 ANSYS, Inc. Proprietary
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. L3-14 ANSYS, Inc. Proprietary
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. L3-15 ANSYS, Inc. Proprietary
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
window)
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. L3-16 ANSYS, Inc. Proprietary
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. L3-17 ANSYS, Inc. Proprietary
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
statements
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. L3-18 ANSYS, Inc. Proprietary
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. L3-19 ANSYS, Inc. Proprietary
Rules for Expressions

Fractional and decimal


powers are allowed
- a^(1/2)
(valid)
- 1.0^0.5
(valid)
Units of expressions are
not declared - they are
the result of units in the
expression
- (a [kg m^-3] * b [m s^-1])
has units of [kg m^-2 s^-1]

28 November 2095
2005 ANSYS, Inc. L3-20 ANSYS, Inc. Proprietary
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
scalars

28 November 2095
2005 ANSYS, Inc. L3-21 ANSYS, Inc. Proprietary
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. L3-22 ANSYS, Inc. Proprietary
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
unavailable
- 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. L3-23 ANSYS, Inc. Proprietary
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 np/2 where n=1, 3, 5 .. .
*** both x and y must have the same dimensions.

28 November 2095
2005 ANSYS, Inc. L3-24 ANSYS, Inc. Proprietary
Built in operators/functions and
constants
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. L3-25 ANSYS, Inc. Proprietary
Defining Expressions

CFX-Pre
- 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. L3-26 ANSYS, Inc. Proprietary
CEL Example: Variable
Viscosity
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 n1 n = 1.5
ViscT = K * sstrnr ^ (n-1)
where is the shear strain or
rate ViscT =
K*(min(UpperS,(sstrnr+LowerS))^(n-
1))
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. L3-27 ANSYS, Inc. Proprietary
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
timestep
- Fluid property: inner solver loops between timesteps
- Integrated quantities: at the start of each timestep

28 November 2095
2005 ANSYS, Inc. L3-28 ANSYS, Inc. Proprietary
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. L3-29 ANSYS, Inc. Proprietary
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. L3-30 ANSYS, Inc. Proprietary
CEL Example

Alternatively, a file can be constructed with any text


editor and read into the Expression Editor
Example:

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


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

28 November 2095
2005 ANSYS, Inc. L3-31 ANSYS, Inc. Proprietary
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. L3-32 ANSYS, Inc. Proprietary
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.
Examples:
- Calculate the area average of Cp on an isosurface:
areaAve(Cp)@iso1
- Mass flow of particular fluid through a locator:
oil.massFlow()@slice1
Note:
- @<locator> syntax - must always supply a location.
- Phase/component can be selected using
[<phase>.][<component>.]<function>

28 November 2095
2005 ANSYS, Inc. L3-33 ANSYS, Inc. Proprietary
Integrated Quantities

Predefined functions available


0 or 1 arguments depending on function - see
documentation
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. L3-34 ANSYS, Inc. Proprietary
Integrated Quantities

EXPRESSIONS:
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)
END
[]
BOUNDARY : TempControl
Boundary Type = INLET
Location = TempControl
Coord Frame = Coord
BOUNDARY CONDITIONS :
MASS AND MOMENTUM :
Option = Normal Speed
Normal Speed = TCFlow
END
HEAT TRANSFER :
Option = Static Temperature
Static Temperature = TCTemp
END
END
END

28 November 2095
2005 ANSYS, Inc. L3-35 ANSYS, Inc. Proprietary
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. L3-36 ANSYS, Inc. Proprietary
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. L3-37 ANSYS, Inc. Proprietary
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. L3-38 ANSYS, Inc. Proprietary
CEL Example: Pressure
Coefficient
Mathematical Expression CEL Equivalent

Pressure Coefficient: Pressure Coefficient


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

- or

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

28 November 2095
2005 ANSYS, Inc. L3-39 ANSYS, Inc. Proprietary
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. L3-40 ANSYS, Inc. Proprietary

You might also like