CFX Expression Language

advertisement
Boundary Conditions / CFX Expression
Language
Lecture 3
© 2005 ANSYS, Inc.
L3-1
28 November 2005
ANSYS, Inc. Proprietary
Boundary Conditions



© 2005 ANSYS, Inc.
Required on all regions at the outer extremities of the
Domain to be simulated (bound the problem)
Create sensible names for Boundary Conditions (you
don’t have to accept the default names)
Select the Domain for the Boundary Condition
(applicable to multi-domain cases).
L3-2
28 November 2095
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.
© 2005 ANSYS, Inc.
L3-3
28 November 2095
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)
© 2005 ANSYS, Inc.
L3-4
28 November 2095
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.
© 2005 ANSYS, Inc.
L3-5
28 November 2095
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.
© 2005 ANSYS, Inc.
L3-6
28 November 2095
ANSYS, Inc. Proprietary
Steps to implement a Profile
Boundary Condition

Example of the BC file from CFX-Post.
The information on the colour boxes is
needed and will be read automatically by
CFX-Pre.
© 2005 ANSYS, Inc.
L3-7
Create a BC Profile
file. You can
facilitate this by
using the Export
feature of CFXPost.
28 November 2095
ANSYS, Inc. Proprietary
Steps to implement a Profile
Boundary Condition

© 2005 ANSYS, Inc.
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.
L3-8
28 November 2095
ANSYS, Inc. Proprietary
Steps to implement a Profile
Boundary Condition


© 2005 ANSYS, Inc.
L3-9
Assign the profile data to a
boundary condition.
Select the appropriate
profile from the drop-down
list, then click Generate
Values.
28 November 2095
ANSYS, Inc. Proprietary
Steps to implement a Profile
Boundary Condition

© 2005 ANSYS, Inc.
L3-10
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
ANSYS, Inc. Proprietary
Steps to implement a Profile
Boundary Condition


© 2005 ANSYS, Inc.
L3-11
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
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 don’t have same normal
direction, then edit the data in your profile file
directly to map the locations from the first
boundary to the second
© 2005 ANSYS, Inc.
L3-12
28 November 2095
ANSYS, Inc. Proprietary
Standard Variable Names


© 2005 ANSYS, Inc.
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
L3-13
28 November 2095
ANSYS, Inc. Proprietary
Data Interpolation method



© 2005 ANSYS, Inc.
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.
L3-14
28 November 2095
ANSYS, Inc. Proprietary
Extracting Profile Data from
Results Files

© 2005 ANSYS, Inc.
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.
L3-15
28 November 2095
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)
© 2005 ANSYS, Inc.
L3-16
28 November 2095
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
© 2005 ANSYS, Inc.
L3-17
28 November 2095
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
© 2005 ANSYS, Inc.
L3-18
28 November 2095
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]
- 2.5 [s m^-1] - (3.0 [m s^-1])^-1
- 1.0 [mm] + 0.3 [kg]
© 2005 ANSYS, Inc.
L3-19
(valid)
(valid)
(invalid)
28 November 2095
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]
© 2005 ANSYS, Inc.
L3-20
28 November 2095
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
© 2005 ANSYS, Inc.
L3-21
28 November 2095
ANSYS, Inc. Proprietary
System Variables
x
y
z
r
theta
t
u
v
w
p
ke
ed
T
sstrnr
density
rNoDim
viscosity
Cp
cond
enthalpy
beta
speedofsound
subdomain
mean diameter
deneff
AV name
mf
© 2005 ANSYS, Inc.
Direction 1 in Reference Coordinate Frame
Direction 2 in Reference Coordinate Frame
Direction 3 in Reference Coordinate Frame
Radial spatial location, r = (x^2+y^2)^0.5
Angle, arctan(y/x)
Time
Velocity in the x coordinate direction
Velocity in the y coordinate direction
Velocity in the z coordinate direction
(absolute) Pressure
Turbulent kinetic energy
Turbulent eddy dissipation
Temperature
Shear strain rate
Denstiy
Non-dimensional radius (rotating frame only)
Dynamic Viscosity
Specific Heat Capacity at Constant Pressure
Thermal Conductivity
Specific Enthalpy
Thermal Expansivity
Local speed of sound in fluid
Sub-domain variable (1.0 in Sub-domain, 0.0 elsewhere)
Mean Diameter
Effective Density
Additional Variable name
Mass Fraction
L3-22
28 November 2095
ANSYS, Inc. Proprietary
System Variables



© 2005 ANSYS, Inc.
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
L3-23
28 November 2095
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
sin(x)
cos(x)
tan(x) **
asin(x)
acos(x)
atan(x)
exp(x)
loge(x)
log10(x)
abs(x)
sqrt(x)
min(x,y) ***
max(x,y) ***
step(x) *
Operand’s Dimensions [x]
Angle
Angle
Angle
Dimensionless
Dimensionless
Dimensionless
Dimensionless
Dimensionless
Dimensionless
Any
Any
Any
Any
Dimensionless
Operand’s Values
Any
Any
Any
-1 x 1
-1 x 1
Any
Any
0<x
0<x
Any
0 x
Any
Any
Any
Result’s Dimensions
Dimensionless
Dimensionless
Dimensionless
Angle
Angle
Angle
Dimensionless
Dimensionless
Dimensionless
[x]
[x]^0.5
[x]
[x]
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.
© 2005 ANSYS, Inc.
L3-24
28 November 2095
ANSYS, Inc. Proprietary
Built in operators/functions and
constants

Some constants are also available in CEL for
developing your expressions, these are:
-

e
g
pi
R
Constant: 2.7182818
Acceleration due to gravity: 9.806 [m s^-2]
Constant: 3.1415927
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

© 2005 ANSYS, Inc.
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
L3-25
28 November 2095
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
© 2005 ANSYS, Inc.
L3-26
28 November 2095
ANSYS, Inc. Proprietary
CEL Example: Variable
Viscosity
Mathematical Expression

CEL Equivalent
Viscosity of a shear
thickening fluid:

Viscosity as a function of
temperature
K = 10.0 [kg m^-1 s^-0.5]
n = 1.5
ViscT = K * sstrnr ^ (n-1)
or
ViscT =
K*(min(UpperS,(sstrnr+LowerS))^(n1))
  K n1
where  is the shear strain
rate
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
© 2005 ANSYS, Inc.
L3-27
28 November 2095
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
© 2005 ANSYS, Inc.
L3-28
28 November 2095
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
© 2005 ANSYS, Inc.
L3-29
28 November 2095
ANSYS, Inc. Proprietary
CEL Example

The following example shows how to set the viscosity
to be a function of temperature. The viscositytemperature relation is taken as follows:
  e 10T
© 2005 ANSYS, Inc.
L3-30
28 November 2095
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
© 2005 ANSYS, Inc.
L3-31
28 November 2095
ANSYS, Inc. Proprietary
CEL Example (B.C.)

© 2005 ANSYS, Inc.
The following example shows how to set angular
velocity for a rotating wall using the u and v
components :
L3-32
28 November 2095
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:
-
© 2005 ANSYS, Inc.
“@<locator>” syntax - must always supply a location.
Phase/component can be selected using
[<phase>.][<component>.]<function>
L3-33
28 November 2095
ANSYS, Inc. Proprietary
Integrated Quantities



© 2005 ANSYS, Inc.
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)
L3-34
28 November 2095
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
© 2005 ANSYS, Inc.
L3-35
28 November 2095
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
© 2005 ANSYS, Inc.
L3-36
28 November 2095
ANSYS, Inc. Proprietary
CFX-Post Functions

CFX-Post provides an additional set of functions:

[<Fluid>.]<function>[_<Axis>[_<Coord Frame>]]([<Expression>])@<Location>
-
© 2005 ANSYS, Inc.
area
areaAve
areaInt
ave
count
force
forceNorm
length
lengthAve
lengthInt
massFlow
massFlowAve
massFlowInt
maxVal
minVal
Area (projected to axis optional)
Area-weighted average
Area-weighted integral
Arithmetic average
Number of calculation points
Force on a surface in the specified direction
Magnitude of normalized force on a curve in the specified direction
Length of a curve
Length-weighted average
Length-weighted integration
Total mass flow
Mass-weighted average
Mass-weighted integral
Maximum Value
Minimum Value
L3-37
28 November 2095
ANSYS, Inc. Proprietary
CFX-Post Functions

CFX-Post provides an additional set of functions:

[<Fluid>.]<function>[_<Axis>[_<Coord Frame>]]([<Expression>])@<Location>
-
© 2005 ANSYS, Inc.
probe
sum
torque
volume
volumeAve
volumeInt
Value at a point
Sum over the calculation points
Torque on a surface about the specified axis
Volume of a 3-D location
Volume-weighted average
Volume-weighted integral
L3-38
28 November 2095
ANSYS, Inc. Proprietary
CEL Example: Pressure
Coefficient
Mathematical Expression

Pressure Coefficient:
C press 
P  Pref
1
Vref 2
2
CEL Equivalent

Pressure Coefficient
Pref = massFlowAve(P)@inflow
DynH = massFlowAve(.5*Density*V^2)@inflow
Cpress = (P - Pref)/DynH
-
or
Cpress = (P - massFlowAve(P)@inflow) /
massFlowAve(.5*Density*V^2)@inflow
© 2005 ANSYS, Inc.
L3-39
28 November 2095
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.
© 2005 ANSYS, Inc.
L3-40
28 November 2095
ANSYS, Inc. Proprietary
Download