Download pdf - Cfd Pro 14.5 l13 Cel Av

Transcript
Page 1: Cfd Pro 14.5 l13 Cel Av

© 2013 ANSYS, Inc. December 12, 2013 1 Release 14.5

14. 5 Release

Introduction to ANSYS CFD Professional

Lecture 13 CFX Expression Language (CEL) & Additional Variables (AVs)

Page 2: Cfd Pro 14.5 l13 Cel Av

© 2013 ANSYS, Inc. December 12, 2013 2 Release 14.5

It is possible to create user variables, expressions and functions with which to customize a CFD model, e.g. physical properties of fluids, physical models. This lecture covers:

•How to set up equations and functions using CFX Expression Language (CEL) •How to create Additional Variables (user variables)

Introduction

Page 3: Cfd Pro 14.5 l13 Cel Av

© 2013 ANSYS, Inc. December 12, 2013 3 Release 14.5

CEL 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:

Page 4: Cfd Pro 14.5 l13 Cel Av

© 2013 ANSYS, Inc. December 12, 2013 4 Release 14.5

CEL Rules

• 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

• Expressions must be dimensionally consistent for addition and subtraction operations (example: 1.0 [mm] + 0.45 [yds] is OK)

• Fractional and decimal powers are allowed (example: a^(1/2) + 1.0^0.5)

• 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]

Page 5: Cfd Pro 14.5 l13 Cel Av

© 2013 ANSYS, Inc. December 12, 2013 5 Release 14.5

Creating Expressions - Expression Editor

Page 6: Cfd Pro 14.5 l13 Cel Av

© 2013 ANSYS, Inc. December 12, 2013 6 Release 14.5

Creating Expressions - Directly

Page 7: Cfd Pro 14.5 l13 Cel Av

© 2013 ANSYS, Inc. December 12, 2013 7 Release 14.5

CEL Example

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 20th iteration

inlet temp = 310 K

Page 8: Cfd Pro 14.5 l13 Cel Av

© 2013 ANSYS, Inc. December 12, 2013 8 Release 14.5

User Functions

You can also define your own 1-D linear, or 3-D cloud of points interpolation functions

Import

data

points or

add

manually

Page 9: Cfd Pro 14.5 l13 Cel Av

© 2013 ANSYS, Inc. December 12, 2013 9 Release 14.5

User Functions: Example Example: Physical timescale changes

with iteration number as shown here

Timescale is in seconds

Iteration Number is

dimensionless

Page 10: Cfd Pro 14.5 l13 Cel Av

© 2013 ANSYS, Inc. December 12, 2013 10 Release 14.5

Integrated Quantities

Integrated quantities can be used in expressions to evaluate variables over a location:

• Calculate the area average of Cp on an isosurface: areaAve(Cp)@iso1

Available in CFX-Pre and CFD-Post but 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 use a named location used in the physics definition

- A boundary condition name, a domain name, a monitor point name, etc.

• or to reference general mesh regions use the syntax ‘@REGION:<name>’

Page 11: Cfd Pro 14.5 l13 Cel Av

© 2013 ANSYS, Inc. December 12, 2013 11 Release 14.5

Integrated 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

Page 12: Cfd Pro 14.5 l13 Cel Av

© 2013 ANSYS, Inc. December 12, 2013 12 Release 14.5

Additional Variables • Additional Variables (AVs) are non-reacting scalar components that may

be transported through the flow

• They do not have any direct influence on the flow solution

Examples: • A tracer such as a dye or smoke

– This is an example of a Transport Additional Variable. The AV is transported with the flow, but does not influence the flow

• Age of the fluid to identify stagnant regions of flow

– This is done by creating a transport AV “Age” with units of [s]

• Inlet and initial values should be zero

• An AV source term with a value of 1 should be set throughout the domain

Page 13: Cfd Pro 14.5 l13 Cel Av

© 2013 ANSYS, Inc. December 12, 2013 13 Release 14.5

Additional Variables: Examples

• Additional Variables can be used to work-around some limitations:

– In CFX-Pre, you must pass a variable to the integrated CEL functions (areaAve(), volumeInt(), etc). The following is not valid: areaAve(Velocity * Density)@Inlet because Velocity * Density is an expression, not a variable

– As a work-around you can create an Algebraic AV equal to the expression and then pass the AV to the CEL function

Page 14: Cfd Pro 14.5 l13 Cel Av

© 2013 ANSYS, Inc. December 12, 2013 14 Release 14.5

Additional Variables • Additional Variables (AVs) are created by right-clicking on Expressions,

Functions and Variables > Additional Variables, or using the toolbar

• Variable Type

– Specific: The AV is solved on a per-unit-mass basis

– Volumetric: The AV is solved on a per-unit-volume basis

– Unspecified: The AV is defined in terms of an algebraic expression

• Units: the units that describe the additional variable

• Tensor Type: Scalar or Vector as necessary

– For a vector you will need to provide expressions to define the three components

Page 15: Cfd Pro 14.5 l13 Cel Av

© 2013 ANSYS, Inc. December 12, 2013 15 Release 14.5

Additional Variables

Once an AV has been created it must be included in the domain

• Enable the AV on the Domain > Fluid Models panel

• Set the Option to Transport Equation or Algebraic Equation

• For transported AVs, initial conditions and boundary conditions must be provided

• For algebraic AVs, provide an expression