SlideShare a Scribd company logo
11-1
ANSYS, Inc. Proprietary
© 2009 ANSYS, Inc. All rights reserved.
April 28, 2009
Inventory #002598
Chapter 11
CFX Expression Language
(CEL)
Introduction to CFX
CFX Expression Language
11-2
ANSYS, Inc. Proprietary
© 2009 ANSYS, Inc. All rights reserved.
April 28, 2009
Inventory #002598
Training Manual
• CEL - CFX Expression Language
– Allows the user to create equations (can be functions of
solution/system variables) that can be used in CFX-Pre and CFD-Post
• Example:
CEL
CFX Expression Language
11-3
ANSYS, Inc. Proprietary
© 2009 ANSYS, Inc. All rights reserved.
April 28, 2009
Inventory #002598
Training Manual
• The syntax rules are the same as those for conventional arithmetic.
Operators are written as:
+ (addition) - (subtraction) * (multiplication)
/ (division) ^ (exponentiation)
• Variables and expressions are case sensitive (example: t vs. T)
• Expressions must be dimensionally consistent for addition and subtraction
operations (example: 1.0 [mm] + 0.45 [yds] is OK)
– You cannot add values with inconsistent dimensions
• Fractional and decimal powers are allowed (example: a^(1/2) + 1.0^0.5)
• Units of expressions are not declared – they are the result of units in the
expression (example: a [kg m^-3] * b [m s^-1] has units of [kg m^-2 s^-1]
• Some constants are also available in CEL for use in expressions:
– 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]
CEL Rules
CFX Expression Language
11-4
ANSYS, Inc. Proprietary
© 2009 ANSYS, Inc. All rights reserved.
April 28, 2009
Inventory #002598
Training Manual
• Numerical functions and operators are also available in CEL
– Right-click when creating expressions for a complete list
– Custom functions with User Fortran can also be created
Function Operand’s Dimensions [x] Operand’s Values Result’s 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
if(test, res1, res2)* Any Any Any (res1 and res2 must have the same dimensions)
min(x,y) **** Any Any [x]
max(x,y) **** Any Any [x]
step(x) * Dimensionless Any Dimensionless
*if functions contain a test, and two result outcomes. The first outcome, res1 will be returned if test evaluates to true. If test evaluates to false, res2 is
returned. Consider the following example, where we wish to set volume fraction to 1 when X is greater than 1 [m], and 0 if X is less than 1 [m]:
if (x>1[m], 1, 0)
In this case, if the result is precisely equal to 1[m], the result is (res1+res2)/2
**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.
Built In Functions
CFX Expression Language
11-5
ANSYS, Inc. Proprietary
© 2009 ANSYS, Inc. All rights reserved.
April 28, 2009
Inventory #002598
Training Manual
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 Density
rNoDim Non-dimensional radius (rotating frame only)
viscosity Dynamic Viscosity
Cp Specific Heat Capacity at Constant Pressure
cond Thermal Conductivity
AV name Additional Variable name
mf Mass Fraction
• Solver variables are available for use in any expression
• Below is a partial list of the available system variables:
– When creating expressions, right-click to access a full list
Depending on your
physics, some
variables will not be
valid – e.g. you need
to solver heat transfer
to use T
Solver Variables
CFX Expression Language
11-6
ANSYS, Inc. Proprietary
© 2009 ANSYS, Inc. All rights reserved.
April 28, 2009
Inventory #002598
Training ManualHow To Create Expressions
CFX Expression Language
11-7
ANSYS, Inc. Proprietary
© 2009 ANSYS, Inc. All rights reserved.
April 28, 2009
Inventory #002598
Training Manual
To add more
expressions
(similar method in
CFD-Post)
How To Create Expressions
Right-click in the
Definition window
to access
Variables,
Constants,
Functions,
Locators and
existing
Expressions
CFX Expression Language
11-8
ANSYS, Inc. Proprietary
© 2009 ANSYS, Inc. All rights reserved.
April 28, 2009
Inventory #002598
Training Manual
where γ is the shear strain rate
• Creating a variable viscosity
– Viscosity of a shear thickening fluid:
1−
= n
Kγµ
Solver Variable and Expression Name are both
accessed via the right mouse button
CEL in CFX-Pre: Example 1
CFX Expression Language
11-9
ANSYS, Inc. Proprietary
© 2009 ANSYS, Inc. All rights reserved.
April 28, 2009
Inventory #002598
Training Manual
• Alternatively, an expression can be entered directly into a field
CEL in CFX-Pre: Example 1
CFX Expression Language
11-10
ANSYS, Inc. Proprietary
© 2009 ANSYS, Inc. All rights reserved.
April 28, 2009
Inventory #002598
Training Manual
• Using an “if” Function
– Set inlet temperature to 300 K for the first 19 iterations then raise it to
320 K after 20 iterations
Solver variable
accessed with the right
mouse button
Note: On the 21st
iteration
inlet temp = 310 K
CEL in CFX-Pre: Example 2
CFX Expression Language
11-11
ANSYS, Inc. Proprietary
© 2009 ANSYS, Inc. All rights reserved.
April 28, 2009
Inventory #002598
Training Manual
• You can also define your own 1-D linear, or 3-D cloud of points
interpolation functions
Import
data
points or
add
manually
User Functions
CFX Expression Language
11-12
ANSYS, Inc. Proprietary
© 2009 ANSYS, Inc. All rights reserved.
April 28, 2009
Inventory #002598
Training Manual
• Example: Having the timestep change
with iteration number as shown here
Timestep size is in seconds
Continued on next
slide...
User Functions: Example
Iteration Number is
dimensionless
CFX Expression Language
11-13
ANSYS, Inc. Proprietary
© 2009 ANSYS, Inc. All rights reserved.
April 28, 2009
Inventory #002598
Training Manual
• Example: Having the timestep change
with iteration number as shown here
User Functions: Example
CFX Expression Language
11-14
ANSYS, Inc. Proprietary
© 2009 ANSYS, Inc. All rights reserved.
April 28, 2009
Inventory #002598
Training Manual
• Integrated quantities can be used in expressions to evaluate variables over
some location
– Examples:
– Calculate the area average of Cp on an isosurface: areaAve(Cp)@iso1
– Mass flow of particular fluid through a locator: oil.massFlow()@slice1
• Available in CFX-Pre and CFD-Post
– Usage is more strict in CFX-Pre
• E.g. the argument supplied to the function must be a variable, not an expression
• “@<locator>” syntax must always supply a named location used in the
physics definition
– A boundary condition name, a domain name, a monitor point name, etc.
• To reference general mesh regions use the syntax “@REGION:<name>”
• Phases/components can be referenced using:
[<phase name>.][<component name>.]<function>@<locator>
– E.g. Air.Nitrogen.massFlow()@outlet
Integrated Quantities
CFX Expression Language
11-15
ANSYS, Inc. Proprietary
© 2009 ANSYS, Inc. All rights reserved.
April 28, 2009
Inventory #002598
Training ManualIntegrated Quantities
• Some functions allow an x, y or z operator:
– area_x()@boundary gives the area projected in the x-direction
– force_z()@wall gives the z component of the force on the wall
– See documentation for a full list
• These functions also allow an optional coordinate frame:
– force_z_MyCoord()@wall gives the z component of the force on the wall using the
coordinate frame “MyCoord”
• Each function requires either 0 or 1 arguments
– areaAve requires 1 argument: areaAve(Temperature)@Wall
– massFlow requires 0 arguments: massFlow()@Inlet
• Return value units depend on the argument units
– areaAve(Temperature)@Wall will return a value with units of
Temperature
CFX Expression Language
11-16
ANSYS, Inc. Proprietary
© 2009 ANSYS, Inc. All rights reserved.
April 28, 2009
Inventory #002598
Training Manual
• Below is a partial list of functions
– See documentation for a complete list
– Right-clicking when creating an expression will show most functions
Function Name and Syntax
<required> [<optional>]
area( )@<Location>
Area of a boundary or
interface.
Any 2D region (e.g., boundary
or interface)
area_x( )@<Location>
area_y( )@<Location>
area_z( )@<Location>
The (signed) component of the
normal area vector in the local
x, y or z direction. Any 2D region (e.g., a
boundary or interface)
areaAve(<var>)@<Location>
Area-weighted average of <var>
on a boundary.
Any 2D region (e.g., a
boundary or interface)
areaInt(<var>)@<Location>
Area-weighted integral of <var>
on a boundary.
Any 2D region (e.g., a
boundary or interface)
ave(<var>)@<Location>
Arithmetic average of <var>
within a domain or subdomain.
Any 3D region (e.g., domain or
subdomain)
[<Fluid>.]force( )@<Location>
The magnitude of the force
vector on a boundary. Any 2D region (e.g., a wall)
Operation Valid <Location>
Integrated Quantities
CFX Expression Language
11-17
ANSYS, Inc. Proprietary
© 2009 ANSYS, Inc. All rights reserved.
April 28, 2009
Inventory #002598
Training Manual
Function Name and Syntax
<required> [<optional>]
[<Fluid>.]force_x( )@<Location>
[<Fluid>.]force_y( )@<Location>
[<Fluid>.]force_z( )@<Location>
The (signed) component of the
force vector in the local x, y
or z direction. Any 2D region (e.g., a wall)
inside()@<Location>
Similar to the subdomain
variable, but allows a specific
2D or 3D location to be given.
Any 2D or 3D named sub-
region of the physical location
on which the expression is
evaluated.
mass()@<Location>
The total mass within a domain
or subdomain. This is fluid
dependent.
Any 3D region (e.g., domain or
subdomain)
massAve(<var>)@<Location>
Mass-weighted average of
<var> on a domain or
subdomain.
Any 3D region (e.g., domain or
subdomain)
massInt(<var>)@<Location>
The mass-weighted integration
of <var> within a domain or
subdomain
Any 3D region (e.g., domain or
subdomain)
[<Fluid>.]massFlow()@<Location> Mass flow through a boundary.
Any fluid surfaces (e.g., Inlets,
Outlets, Openings and fluid-
fluid interfaces)
[<Fluid>.]massFlowAve(<var>)
@<Location>
Mass flow weighted average of
<var> on a boundary.
Any fluid surfaces (e.g., Inlets,
Outlets, Openings and fluid-
fluid interfaces)
Operation Valid <Location>
Integrated Quantities
CFX Expression Language
11-18
ANSYS, Inc. Proprietary
© 2009 ANSYS, Inc. All rights reserved.
April 28, 2009
Inventory #002598
Training Manual
Function Name and Syntax
<required> [<optional>]
[<Fluid>.]massFlowAveAbs(<var>)
@<Location>
Absolute mass flow weighted
average of <var> on a
boundary.
Any fluid surfaces (e.g., Inlets,
Outlets, Openings and fluid-
fluid interfaces)
[<Fluid>.]massFlowInt(<var>)
@<Location>
Mass flow weighted integration
of <var> on a boundary.
Any fluid surfaces (e.g., Inlets,
Outlets, Openings and fluid-
fluid interfaces)
maxVal(<var>)@<Location>
Maximum Value of <var>
within a domain or subdomain.
Any 3D region (e.g., domain or
subdomain)
minVal(<var>)@<Location>
Minimum Value of <var> within
a domain or subdomain.
Any 3D region (e.g., domain or
subdomain)
probe(<var>)@<Location>
Returns the value of the
specified variable on the
specified Point locator.
Any point object (e.g., a
Source Point or Cartesian
Monitor Point)
rmsAve(<var>)@<Location>
RMS average of <var> within a
domain.
Any 3D region (e.g., domain or
subdomain)
sum(<var>)@<Location>
Sum of <var> over all domain
or subdomain vertices.
Any 3D region (e.g., domain or
subdomain)
Operation Valid <Location>
Integrated Quantities
CFX Expression Language
11-19
ANSYS, Inc. Proprietary
© 2009 ANSYS, Inc. All rights reserved.
April 28, 2009
Inventory #002598
Training ManualUseful Functions
• The inside() function returns 1 when inside the specified location and
0 when outside
– Useful to limit the scope of a function to a subdomain or boundary
• The step() function return 1 when the argument is positive and 0
when the argument is negative
– Useful as an on-off switch
– if() function can also be used as a switch
• areaAve() and massFlowAve() are used to evaluate the average of a
quantity on a location
– areaAve() is an area-weighted average. It is usually used on wall
boundaries and when the quantity is not “carried with the flow”, e.g.
Pressure at an outlet, Temperature on a wall
– massFlowAve() is an average weighted by the local mass flow. It is
usually used to evaluate quantities that are “carried with the flow”, e.g.
Temperature at an outlet

More Related Content

What's hot

Guida all'utilizzo di OpenFOAM su Windows10 (con Ubuntu LTS) - Capitolo 2
Guida all'utilizzo di OpenFOAM su Windows10 (con Ubuntu LTS) - Capitolo 2Guida all'utilizzo di OpenFOAM su Windows10 (con Ubuntu LTS) - Capitolo 2
Guida all'utilizzo di OpenFOAM su Windows10 (con Ubuntu LTS) - Capitolo 2
Andrea Pisa
 
Dynamic Mesh in OpenFOAM
Dynamic Mesh in OpenFOAMDynamic Mesh in OpenFOAM
Dynamic Mesh in OpenFOAMFumiya Nozaki
 
11 generalsisation of fluent
11 generalsisation of fluent11 generalsisation of fluent
11 generalsisation of fluent
chowdavaramsaiprasad
 
Microfluidic Flow Control using Magnetohydrodynamics
Microfluidic Flow Control using  Magnetohydrodynamics Microfluidic Flow Control using  Magnetohydrodynamics
Microfluidic Flow Control using Magnetohydrodynamics
KayDrive
 
Torsion of thin closed sections
Torsion of thin closed sectionsTorsion of thin closed sections
Torsion of thin closed sectionsaero103
 
OpenFOAM v2.3.0のチュートリアル 『oscillatingInletACMI2D』
OpenFOAM v2.3.0のチュートリアル 『oscillatingInletACMI2D』OpenFOAM v2.3.0のチュートリアル 『oscillatingInletACMI2D』
OpenFOAM v2.3.0のチュートリアル 『oscillatingInletACMI2D』
Fumiya Nozaki
 
Introduction to Coupled CFD-DEM Modeling
Introduction to Coupled CFD-DEM ModelingIntroduction to Coupled CFD-DEM Modeling
Introduction to Coupled CFD-DEM Modeling
Khusro Kamaluddin
 
Introduction to finite element method
Introduction to finite element methodIntroduction to finite element method
Introduction to finite element method
shahzaib601980
 
Multiphase models
Multiphase models Multiphase models
Multiphase models
Hamed Hoorijani
 
Setting and Usage of OpenFOAM multiphase solver (S-CLSVOF)
Setting and Usage of OpenFOAM multiphase solver (S-CLSVOF)Setting and Usage of OpenFOAM multiphase solver (S-CLSVOF)
Setting and Usage of OpenFOAM multiphase solver (S-CLSVOF)takuyayamamoto1800
 
Introduction to Finite Elements
Introduction to Finite ElementsIntroduction to Finite Elements
Introduction to Finite Elements
Srinivas Varanasi, Ph.D.
 
Introdcution to Openfoam--working with free software
Introdcution to Openfoam--working with free softwareIntrodcution to Openfoam--working with free software
Introdcution to Openfoam--working with free software
pengding2
 
OpenFoam Simulation of Flow over Ahmed Body using Visual CFD software
OpenFoam Simulation of Flow over Ahmed Body using Visual CFD softwareOpenFoam Simulation of Flow over Ahmed Body using Visual CFD software
OpenFoam Simulation of Flow over Ahmed Body using Visual CFD softwareSrinivas Nag H.V
 
Finite element method
Finite element methodFinite element method
Finite element method
MANISH RANJAN
 
12 transient analysis theory
12 transient analysis theory12 transient analysis theory
12 transient analysis theory
chowdavaramsaiprasad
 
buoyantBousinessqSimpleFoam
buoyantBousinessqSimpleFoambuoyantBousinessqSimpleFoam
buoyantBousinessqSimpleFoamMilad Sm
 
Lec4 shear of thin walled beams
Lec4 shear of thin walled beamsLec4 shear of thin walled beams
Lec4 shear of thin walled beams
Mahdi Damghani
 
CFD for Rotating Machinery using OpenFOAM
CFD for Rotating Machinery using OpenFOAMCFD for Rotating Machinery using OpenFOAM
CFD for Rotating Machinery using OpenFOAMFumiya Nozaki
 

What's hot (20)

Guida all'utilizzo di OpenFOAM su Windows10 (con Ubuntu LTS) - Capitolo 2
Guida all'utilizzo di OpenFOAM su Windows10 (con Ubuntu LTS) - Capitolo 2Guida all'utilizzo di OpenFOAM su Windows10 (con Ubuntu LTS) - Capitolo 2
Guida all'utilizzo di OpenFOAM su Windows10 (con Ubuntu LTS) - Capitolo 2
 
Dynamic Mesh in OpenFOAM
Dynamic Mesh in OpenFOAMDynamic Mesh in OpenFOAM
Dynamic Mesh in OpenFOAM
 
11 generalsisation of fluent
11 generalsisation of fluent11 generalsisation of fluent
11 generalsisation of fluent
 
Microfluidic Flow Control using Magnetohydrodynamics
Microfluidic Flow Control using  Magnetohydrodynamics Microfluidic Flow Control using  Magnetohydrodynamics
Microfluidic Flow Control using Magnetohydrodynamics
 
Cfx12 07 physics2
Cfx12 07 physics2Cfx12 07 physics2
Cfx12 07 physics2
 
Torsion of thin closed sections
Torsion of thin closed sectionsTorsion of thin closed sections
Torsion of thin closed sections
 
OpenFOAM v2.3.0のチュートリアル 『oscillatingInletACMI2D』
OpenFOAM v2.3.0のチュートリアル 『oscillatingInletACMI2D』OpenFOAM v2.3.0のチュートリアル 『oscillatingInletACMI2D』
OpenFOAM v2.3.0のチュートリアル 『oscillatingInletACMI2D』
 
Introduction to Coupled CFD-DEM Modeling
Introduction to Coupled CFD-DEM ModelingIntroduction to Coupled CFD-DEM Modeling
Introduction to Coupled CFD-DEM Modeling
 
Introduction to finite element method
Introduction to finite element methodIntroduction to finite element method
Introduction to finite element method
 
Cfx12 03 physics1
Cfx12 03 physics1Cfx12 03 physics1
Cfx12 03 physics1
 
Multiphase models
Multiphase models Multiphase models
Multiphase models
 
Setting and Usage of OpenFOAM multiphase solver (S-CLSVOF)
Setting and Usage of OpenFOAM multiphase solver (S-CLSVOF)Setting and Usage of OpenFOAM multiphase solver (S-CLSVOF)
Setting and Usage of OpenFOAM multiphase solver (S-CLSVOF)
 
Introduction to Finite Elements
Introduction to Finite ElementsIntroduction to Finite Elements
Introduction to Finite Elements
 
Introdcution to Openfoam--working with free software
Introdcution to Openfoam--working with free softwareIntrodcution to Openfoam--working with free software
Introdcution to Openfoam--working with free software
 
OpenFoam Simulation of Flow over Ahmed Body using Visual CFD software
OpenFoam Simulation of Flow over Ahmed Body using Visual CFD softwareOpenFoam Simulation of Flow over Ahmed Body using Visual CFD software
OpenFoam Simulation of Flow over Ahmed Body using Visual CFD software
 
Finite element method
Finite element methodFinite element method
Finite element method
 
12 transient analysis theory
12 transient analysis theory12 transient analysis theory
12 transient analysis theory
 
buoyantBousinessqSimpleFoam
buoyantBousinessqSimpleFoambuoyantBousinessqSimpleFoam
buoyantBousinessqSimpleFoam
 
Lec4 shear of thin walled beams
Lec4 shear of thin walled beamsLec4 shear of thin walled beams
Lec4 shear of thin walled beams
 
CFD for Rotating Machinery using OpenFOAM
CFD for Rotating Machinery using OpenFOAMCFD for Rotating Machinery using OpenFOAM
CFD for Rotating Machinery using OpenFOAM
 

Viewers also liked

fluent tutorial guide (Ansys)
fluent tutorial guide (Ansys)fluent tutorial guide (Ansys)
fluent tutorial guide (Ansys)A.S.M. Abdul Hye
 
Computational Fluid Dynamics (CFD)
Computational Fluid Dynamics (CFD)Computational Fluid Dynamics (CFD)
Computational Fluid Dynamics (CFD)
Khusro Kamaluddin
 
CFX:Mixing T-Junction
CFX:Mixing T-JunctionCFX:Mixing T-Junction
CFX:Mixing T-Junction
Preeda Prakotmak
 
ANSYS Fluent - CFD Final year thesis
ANSYS Fluent - CFD Final year thesisANSYS Fluent - CFD Final year thesis
ANSYS Fluent - CFD Final year thesis
Dibyajyoti Laha
 
Computational Fluid Dynamics (CFD)
Computational Fluid Dynamics (CFD)Computational Fluid Dynamics (CFD)
Computational Fluid Dynamics (CFD)
Taani Saxena
 
Final Exam Ansys CFX - Stephen White
Final Exam Ansys CFX - Stephen WhiteFinal Exam Ansys CFX - Stephen White
Final Exam Ansys CFX - Stephen WhiteStephen White
 
Cfx12 11 cel_printing
Cfx12 11 cel_printingCfx12 11 cel_printing
Cfx12 11 cel_printingMarcushuynh66
 
Cfx12 10 heat_transfer
Cfx12 10 heat_transferCfx12 10 heat_transfer
Cfx12 10 heat_transferMarcushuynh66
 
CFD Introduction using Ansys Fluent
CFD Introduction using Ansys FluentCFD Introduction using Ansys Fluent
CFD Introduction using Ansys Fluent
savani4611
 
Cfx12 12 moving_zones
Cfx12 12 moving_zonesCfx12 12 moving_zones
Cfx12 12 moving_zonesMarcushuynh66
 
Cfx12 00 toc_welcome
Cfx12 00 toc_welcomeCfx12 00 toc_welcome
Cfx12 00 toc_welcomeMarcushuynh66
 
HLPW2-sasanapuri
HLPW2-sasanapuriHLPW2-sasanapuri
HLPW2-sasanapuriVijay Kumar
 
220924828 cfd-analysis-of-heat-transfer-in-a-helical-coil-heat-exchanger-usin...
220924828 cfd-analysis-of-heat-transfer-in-a-helical-coil-heat-exchanger-usin...220924828 cfd-analysis-of-heat-transfer-in-a-helical-coil-heat-exchanger-usin...
220924828 cfd-analysis-of-heat-transfer-in-a-helical-coil-heat-exchanger-usin...
manojg1990
 
Cfx12 06 review_day1
Cfx12 06 review_day1Cfx12 06 review_day1
Cfx12 06 review_day1Marcushuynh66
 

Viewers also liked (20)

Cfx12 04 solver
Cfx12 04 solverCfx12 04 solver
Cfx12 04 solver
 
fluent tutorial guide (Ansys)
fluent tutorial guide (Ansys)fluent tutorial guide (Ansys)
fluent tutorial guide (Ansys)
 
Computational Fluid Dynamics (CFD)
Computational Fluid Dynamics (CFD)Computational Fluid Dynamics (CFD)
Computational Fluid Dynamics (CFD)
 
Cfx12 09 turbulence
Cfx12 09 turbulenceCfx12 09 turbulence
Cfx12 09 turbulence
 
CFX:Mixing T-Junction
CFX:Mixing T-JunctionCFX:Mixing T-Junction
CFX:Mixing T-Junction
 
Ansys tutorial
Ansys tutorialAnsys tutorial
Ansys tutorial
 
ANSYS Fluent - CFD Final year thesis
ANSYS Fluent - CFD Final year thesisANSYS Fluent - CFD Final year thesis
ANSYS Fluent - CFD Final year thesis
 
CFD & ANSYS FLUENT
CFD & ANSYS FLUENTCFD & ANSYS FLUENT
CFD & ANSYS FLUENT
 
Computational Fluid Dynamics (CFD)
Computational Fluid Dynamics (CFD)Computational Fluid Dynamics (CFD)
Computational Fluid Dynamics (CFD)
 
Cfx12 01 intro_cfd
Cfx12 01 intro_cfdCfx12 01 intro_cfd
Cfx12 01 intro_cfd
 
Final Exam Ansys CFX - Stephen White
Final Exam Ansys CFX - Stephen WhiteFinal Exam Ansys CFX - Stephen White
Final Exam Ansys CFX - Stephen White
 
Cfx12 11 cel_printing
Cfx12 11 cel_printingCfx12 11 cel_printing
Cfx12 11 cel_printing
 
Cfx12 10 heat_transfer
Cfx12 10 heat_transferCfx12 10 heat_transfer
Cfx12 10 heat_transfer
 
CFD Introduction using Ansys Fluent
CFD Introduction using Ansys FluentCFD Introduction using Ansys Fluent
CFD Introduction using Ansys Fluent
 
Cfx12 12 moving_zones
Cfx12 12 moving_zonesCfx12 12 moving_zones
Cfx12 12 moving_zones
 
Cfx12 02 intro_cfx
Cfx12 02 intro_cfxCfx12 02 intro_cfx
Cfx12 02 intro_cfx
 
Cfx12 00 toc_welcome
Cfx12 00 toc_welcomeCfx12 00 toc_welcome
Cfx12 00 toc_welcome
 
HLPW2-sasanapuri
HLPW2-sasanapuriHLPW2-sasanapuri
HLPW2-sasanapuri
 
220924828 cfd-analysis-of-heat-transfer-in-a-helical-coil-heat-exchanger-usin...
220924828 cfd-analysis-of-heat-transfer-in-a-helical-coil-heat-exchanger-usin...220924828 cfd-analysis-of-heat-transfer-in-a-helical-coil-heat-exchanger-usin...
220924828 cfd-analysis-of-heat-transfer-in-a-helical-coil-heat-exchanger-usin...
 
Cfx12 06 review_day1
Cfx12 06 review_day1Cfx12 06 review_day1
Cfx12 06 review_day1
 

Similar to Cfx12 11 cel

The Ring programming language version 1.9 book - Part 28 of 210
The Ring programming language version 1.9 book - Part 28 of 210The Ring programming language version 1.9 book - Part 28 of 210
The Ring programming language version 1.9 book - Part 28 of 210
Mahmoud Samir Fayed
 
Basic concept of MATLAB.ppt
Basic concept of MATLAB.pptBasic concept of MATLAB.ppt
Basic concept of MATLAB.ppt
aliraza2732
 
Programming for Mechanical Engineers in EES
Programming for Mechanical Engineers in EESProgramming for Mechanical Engineers in EES
Programming for Mechanical Engineers in EES
Naveed Rehman
 
Part III: Assembly Language
Part III: Assembly LanguagePart III: Assembly Language
Part III: Assembly LanguageAhmed M. Abed
 
Functional Programming Languages slidesslies.ppt
Functional Programming Languages slidesslies.pptFunctional Programming Languages slidesslies.ppt
Functional Programming Languages slidesslies.ppt
BikalAdhikari4
 
Chapter 4: Parallel Programming Languages
Chapter 4: Parallel Programming LanguagesChapter 4: Parallel Programming Languages
Chapter 4: Parallel Programming Languages
Heman Pathak
 
Matlab-3.pptx
Matlab-3.pptxMatlab-3.pptx
Matlab-3.pptx
aboma2hawi
 
DMN 1-4 and Beyond
DMN 1-4 and BeyondDMN 1-4 and Beyond
DMN 1-4 and Beyond
Denis Gagné
 
Unit 1 - Optimization methods.pptx
Unit 1 - Optimization methods.pptxUnit 1 - Optimization methods.pptx
Unit 1 - Optimization methods.pptx
ssuser4debce1
 
The Ring programming language version 1.8 book - Part 26 of 202
The Ring programming language version 1.8 book - Part 26 of 202The Ring programming language version 1.8 book - Part 26 of 202
The Ring programming language version 1.8 book - Part 26 of 202
Mahmoud Samir Fayed
 
Micro-Benchmarking Considered Harmful
Micro-Benchmarking Considered HarmfulMicro-Benchmarking Considered Harmful
Micro-Benchmarking Considered Harmful
Thomas Wuerthinger
 
Signals And Systems Lab Manual, R18 Batch
Signals And Systems Lab Manual, R18 BatchSignals And Systems Lab Manual, R18 Batch
Signals And Systems Lab Manual, R18 Batch
Amairullah Khan Lodhi
 
02 functions, variables, basic input and output of c++
02   functions, variables, basic input and output of c++02   functions, variables, basic input and output of c++
02 functions, variables, basic input and output of c++
Manzoor ALam
 
Traduccion a ensamblador
Traduccion a ensambladorTraduccion a ensamblador
Traduccion a ensamblador
tre_na_gil
 
Matlab Manual
Matlab ManualMatlab Manual
CSC8503 Principles of Programming Languages Semester 1, 2015.docx
CSC8503 Principles of Programming Languages Semester 1, 2015.docxCSC8503 Principles of Programming Languages Semester 1, 2015.docx
CSC8503 Principles of Programming Languages Semester 1, 2015.docx
faithxdunce63732
 
1. Ch_1 SL_1_Intro to Matlab.pptx
1. Ch_1 SL_1_Intro to Matlab.pptx1. Ch_1 SL_1_Intro to Matlab.pptx
1. Ch_1 SL_1_Intro to Matlab.pptx
MOHAMMAD SAYDUL ALAM
 
BCA IPU VB.NET UNIT-II
BCA IPU VB.NET UNIT-IIBCA IPU VB.NET UNIT-II
BCA IPU VB.NET UNIT-II
Vaibhavj1234
 

Similar to Cfx12 11 cel (20)

The Ring programming language version 1.9 book - Part 28 of 210
The Ring programming language version 1.9 book - Part 28 of 210The Ring programming language version 1.9 book - Part 28 of 210
The Ring programming language version 1.9 book - Part 28 of 210
 
Basic concept of MATLAB.ppt
Basic concept of MATLAB.pptBasic concept of MATLAB.ppt
Basic concept of MATLAB.ppt
 
Programming for Mechanical Engineers in EES
Programming for Mechanical Engineers in EESProgramming for Mechanical Engineers in EES
Programming for Mechanical Engineers in EES
 
Part III: Assembly Language
Part III: Assembly LanguagePart III: Assembly Language
Part III: Assembly Language
 
Functional Programming Languages slidesslies.ppt
Functional Programming Languages slidesslies.pptFunctional Programming Languages slidesslies.ppt
Functional Programming Languages slidesslies.ppt
 
Operators
OperatorsOperators
Operators
 
Chapter 4: Parallel Programming Languages
Chapter 4: Parallel Programming LanguagesChapter 4: Parallel Programming Languages
Chapter 4: Parallel Programming Languages
 
Matlab-3.pptx
Matlab-3.pptxMatlab-3.pptx
Matlab-3.pptx
 
DMN 1-4 and Beyond
DMN 1-4 and BeyondDMN 1-4 and Beyond
DMN 1-4 and Beyond
 
Unit 1 - Optimization methods.pptx
Unit 1 - Optimization methods.pptxUnit 1 - Optimization methods.pptx
Unit 1 - Optimization methods.pptx
 
The Ring programming language version 1.8 book - Part 26 of 202
The Ring programming language version 1.8 book - Part 26 of 202The Ring programming language version 1.8 book - Part 26 of 202
The Ring programming language version 1.8 book - Part 26 of 202
 
Wk1to4
Wk1to4Wk1to4
Wk1to4
 
Micro-Benchmarking Considered Harmful
Micro-Benchmarking Considered HarmfulMicro-Benchmarking Considered Harmful
Micro-Benchmarking Considered Harmful
 
Signals And Systems Lab Manual, R18 Batch
Signals And Systems Lab Manual, R18 BatchSignals And Systems Lab Manual, R18 Batch
Signals And Systems Lab Manual, R18 Batch
 
02 functions, variables, basic input and output of c++
02   functions, variables, basic input and output of c++02   functions, variables, basic input and output of c++
02 functions, variables, basic input and output of c++
 
Traduccion a ensamblador
Traduccion a ensambladorTraduccion a ensamblador
Traduccion a ensamblador
 
Matlab Manual
Matlab ManualMatlab Manual
Matlab Manual
 
CSC8503 Principles of Programming Languages Semester 1, 2015.docx
CSC8503 Principles of Programming Languages Semester 1, 2015.docxCSC8503 Principles of Programming Languages Semester 1, 2015.docx
CSC8503 Principles of Programming Languages Semester 1, 2015.docx
 
1. Ch_1 SL_1_Intro to Matlab.pptx
1. Ch_1 SL_1_Intro to Matlab.pptx1. Ch_1 SL_1_Intro to Matlab.pptx
1. Ch_1 SL_1_Intro to Matlab.pptx
 
BCA IPU VB.NET UNIT-II
BCA IPU VB.NET UNIT-IIBCA IPU VB.NET UNIT-II
BCA IPU VB.NET UNIT-II
 

Cfx12 11 cel

  • 1. 11-1 ANSYS, Inc. Proprietary © 2009 ANSYS, Inc. All rights reserved. April 28, 2009 Inventory #002598 Chapter 11 CFX Expression Language (CEL) Introduction to CFX
  • 2. CFX Expression Language 11-2 ANSYS, Inc. Proprietary © 2009 ANSYS, Inc. All rights reserved. April 28, 2009 Inventory #002598 Training Manual • CEL - CFX Expression Language – Allows the user to create equations (can be functions of solution/system variables) that can be used in CFX-Pre and CFD-Post • Example: CEL
  • 3. CFX Expression Language 11-3 ANSYS, Inc. Proprietary © 2009 ANSYS, Inc. All rights reserved. April 28, 2009 Inventory #002598 Training Manual • The syntax rules are the same as those for conventional arithmetic. Operators are written as: + (addition) - (subtraction) * (multiplication) / (division) ^ (exponentiation) • Variables and expressions are case sensitive (example: t vs. T) • Expressions must be dimensionally consistent for addition and subtraction operations (example: 1.0 [mm] + 0.45 [yds] is OK) – You cannot add values with inconsistent dimensions • Fractional and decimal powers are allowed (example: a^(1/2) + 1.0^0.5) • Units of expressions are not declared – they are the result of units in the expression (example: a [kg m^-3] * b [m s^-1] has units of [kg m^-2 s^-1] • Some constants are also available in CEL for use in expressions: – 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] CEL Rules
  • 4. CFX Expression Language 11-4 ANSYS, Inc. Proprietary © 2009 ANSYS, Inc. All rights reserved. April 28, 2009 Inventory #002598 Training Manual • Numerical functions and operators are also available in CEL – Right-click when creating expressions for a complete list – Custom functions with User Fortran can also be created Function Operand’s Dimensions [x] Operand’s Values Result’s 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 if(test, res1, res2)* Any Any Any (res1 and res2 must have the same dimensions) min(x,y) **** Any Any [x] max(x,y) **** Any Any [x] step(x) * Dimensionless Any Dimensionless *if functions contain a test, and two result outcomes. The first outcome, res1 will be returned if test evaluates to true. If test evaluates to false, res2 is returned. Consider the following example, where we wish to set volume fraction to 1 when X is greater than 1 [m], and 0 if X is less than 1 [m]: if (x>1[m], 1, 0) In this case, if the result is precisely equal to 1[m], the result is (res1+res2)/2 **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. Built In Functions
  • 5. CFX Expression Language 11-5 ANSYS, Inc. Proprietary © 2009 ANSYS, Inc. All rights reserved. April 28, 2009 Inventory #002598 Training Manual 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 Density rNoDim Non-dimensional radius (rotating frame only) viscosity Dynamic Viscosity Cp Specific Heat Capacity at Constant Pressure cond Thermal Conductivity AV name Additional Variable name mf Mass Fraction • Solver variables are available for use in any expression • Below is a partial list of the available system variables: – When creating expressions, right-click to access a full list Depending on your physics, some variables will not be valid – e.g. you need to solver heat transfer to use T Solver Variables
  • 6. CFX Expression Language 11-6 ANSYS, Inc. Proprietary © 2009 ANSYS, Inc. All rights reserved. April 28, 2009 Inventory #002598 Training ManualHow To Create Expressions
  • 7. CFX Expression Language 11-7 ANSYS, Inc. Proprietary © 2009 ANSYS, Inc. All rights reserved. April 28, 2009 Inventory #002598 Training Manual To add more expressions (similar method in CFD-Post) How To Create Expressions Right-click in the Definition window to access Variables, Constants, Functions, Locators and existing Expressions
  • 8. CFX Expression Language 11-8 ANSYS, Inc. Proprietary © 2009 ANSYS, Inc. All rights reserved. April 28, 2009 Inventory #002598 Training Manual where γ is the shear strain rate • Creating a variable viscosity – Viscosity of a shear thickening fluid: 1− = n Kγµ Solver Variable and Expression Name are both accessed via the right mouse button CEL in CFX-Pre: Example 1
  • 9. CFX Expression Language 11-9 ANSYS, Inc. Proprietary © 2009 ANSYS, Inc. All rights reserved. April 28, 2009 Inventory #002598 Training Manual • Alternatively, an expression can be entered directly into a field CEL in CFX-Pre: Example 1
  • 10. CFX Expression Language 11-10 ANSYS, Inc. Proprietary © 2009 ANSYS, Inc. All rights reserved. April 28, 2009 Inventory #002598 Training Manual • Using an “if” Function – Set inlet temperature to 300 K for the first 19 iterations then raise it to 320 K after 20 iterations Solver variable accessed with the right mouse button Note: On the 21st iteration inlet temp = 310 K CEL in CFX-Pre: Example 2
  • 11. CFX Expression Language 11-11 ANSYS, Inc. Proprietary © 2009 ANSYS, Inc. All rights reserved. April 28, 2009 Inventory #002598 Training Manual • You can also define your own 1-D linear, or 3-D cloud of points interpolation functions Import data points or add manually User Functions
  • 12. CFX Expression Language 11-12 ANSYS, Inc. Proprietary © 2009 ANSYS, Inc. All rights reserved. April 28, 2009 Inventory #002598 Training Manual • Example: Having the timestep change with iteration number as shown here Timestep size is in seconds Continued on next slide... User Functions: Example Iteration Number is dimensionless
  • 13. CFX Expression Language 11-13 ANSYS, Inc. Proprietary © 2009 ANSYS, Inc. All rights reserved. April 28, 2009 Inventory #002598 Training Manual • Example: Having the timestep change with iteration number as shown here User Functions: Example
  • 14. CFX Expression Language 11-14 ANSYS, Inc. Proprietary © 2009 ANSYS, Inc. All rights reserved. April 28, 2009 Inventory #002598 Training Manual • Integrated quantities can be used in expressions to evaluate variables over some location – Examples: – Calculate the area average of Cp on an isosurface: areaAve(Cp)@iso1 – Mass flow of particular fluid through a locator: oil.massFlow()@slice1 • Available in CFX-Pre and CFD-Post – Usage is more strict in CFX-Pre • E.g. the argument supplied to the function must be a variable, not an expression • “@<locator>” syntax must always supply a named location used in the physics definition – A boundary condition name, a domain name, a monitor point name, etc. • To reference general mesh regions use the syntax “@REGION:<name>” • Phases/components can be referenced using: [<phase name>.][<component name>.]<function>@<locator> – E.g. Air.Nitrogen.massFlow()@outlet Integrated Quantities
  • 15. CFX Expression Language 11-15 ANSYS, Inc. Proprietary © 2009 ANSYS, Inc. All rights reserved. April 28, 2009 Inventory #002598 Training ManualIntegrated Quantities • Some functions allow an x, y or z operator: – area_x()@boundary gives the area projected in the x-direction – force_z()@wall gives the z component of the force on the wall – See documentation for a full list • These functions also allow an optional coordinate frame: – force_z_MyCoord()@wall gives the z component of the force on the wall using the coordinate frame “MyCoord” • Each function requires either 0 or 1 arguments – areaAve requires 1 argument: areaAve(Temperature)@Wall – massFlow requires 0 arguments: massFlow()@Inlet • Return value units depend on the argument units – areaAve(Temperature)@Wall will return a value with units of Temperature
  • 16. CFX Expression Language 11-16 ANSYS, Inc. Proprietary © 2009 ANSYS, Inc. All rights reserved. April 28, 2009 Inventory #002598 Training Manual • Below is a partial list of functions – See documentation for a complete list – Right-clicking when creating an expression will show most functions Function Name and Syntax <required> [<optional>] area( )@<Location> Area of a boundary or interface. Any 2D region (e.g., boundary or interface) area_x( )@<Location> area_y( )@<Location> area_z( )@<Location> The (signed) component of the normal area vector in the local x, y or z direction. Any 2D region (e.g., a boundary or interface) areaAve(<var>)@<Location> Area-weighted average of <var> on a boundary. Any 2D region (e.g., a boundary or interface) areaInt(<var>)@<Location> Area-weighted integral of <var> on a boundary. Any 2D region (e.g., a boundary or interface) ave(<var>)@<Location> Arithmetic average of <var> within a domain or subdomain. Any 3D region (e.g., domain or subdomain) [<Fluid>.]force( )@<Location> The magnitude of the force vector on a boundary. Any 2D region (e.g., a wall) Operation Valid <Location> Integrated Quantities
  • 17. CFX Expression Language 11-17 ANSYS, Inc. Proprietary © 2009 ANSYS, Inc. All rights reserved. April 28, 2009 Inventory #002598 Training Manual Function Name and Syntax <required> [<optional>] [<Fluid>.]force_x( )@<Location> [<Fluid>.]force_y( )@<Location> [<Fluid>.]force_z( )@<Location> The (signed) component of the force vector in the local x, y or z direction. Any 2D region (e.g., a wall) inside()@<Location> Similar to the subdomain variable, but allows a specific 2D or 3D location to be given. Any 2D or 3D named sub- region of the physical location on which the expression is evaluated. mass()@<Location> The total mass within a domain or subdomain. This is fluid dependent. Any 3D region (e.g., domain or subdomain) massAve(<var>)@<Location> Mass-weighted average of <var> on a domain or subdomain. Any 3D region (e.g., domain or subdomain) massInt(<var>)@<Location> The mass-weighted integration of <var> within a domain or subdomain Any 3D region (e.g., domain or subdomain) [<Fluid>.]massFlow()@<Location> Mass flow through a boundary. Any fluid surfaces (e.g., Inlets, Outlets, Openings and fluid- fluid interfaces) [<Fluid>.]massFlowAve(<var>) @<Location> Mass flow weighted average of <var> on a boundary. Any fluid surfaces (e.g., Inlets, Outlets, Openings and fluid- fluid interfaces) Operation Valid <Location> Integrated Quantities
  • 18. CFX Expression Language 11-18 ANSYS, Inc. Proprietary © 2009 ANSYS, Inc. All rights reserved. April 28, 2009 Inventory #002598 Training Manual Function Name and Syntax <required> [<optional>] [<Fluid>.]massFlowAveAbs(<var>) @<Location> Absolute mass flow weighted average of <var> on a boundary. Any fluid surfaces (e.g., Inlets, Outlets, Openings and fluid- fluid interfaces) [<Fluid>.]massFlowInt(<var>) @<Location> Mass flow weighted integration of <var> on a boundary. Any fluid surfaces (e.g., Inlets, Outlets, Openings and fluid- fluid interfaces) maxVal(<var>)@<Location> Maximum Value of <var> within a domain or subdomain. Any 3D region (e.g., domain or subdomain) minVal(<var>)@<Location> Minimum Value of <var> within a domain or subdomain. Any 3D region (e.g., domain or subdomain) probe(<var>)@<Location> Returns the value of the specified variable on the specified Point locator. Any point object (e.g., a Source Point or Cartesian Monitor Point) rmsAve(<var>)@<Location> RMS average of <var> within a domain. Any 3D region (e.g., domain or subdomain) sum(<var>)@<Location> Sum of <var> over all domain or subdomain vertices. Any 3D region (e.g., domain or subdomain) Operation Valid <Location> Integrated Quantities
  • 19. CFX Expression Language 11-19 ANSYS, Inc. Proprietary © 2009 ANSYS, Inc. All rights reserved. April 28, 2009 Inventory #002598 Training ManualUseful Functions • The inside() function returns 1 when inside the specified location and 0 when outside – Useful to limit the scope of a function to a subdomain or boundary • The step() function return 1 when the argument is positive and 0 when the argument is negative – Useful as an on-off switch – if() function can also be used as a switch • areaAve() and massFlowAve() are used to evaluate the average of a quantity on a location – areaAve() is an area-weighted average. It is usually used on wall boundaries and when the quantity is not “carried with the flow”, e.g. Pressure at an outlet, Temperature on a wall – massFlowAve() is an average weighted by the local mass flow. It is usually used to evaluate quantities that are “carried with the flow”, e.g. Temperature at an outlet