Presentation is loading. Please wait.

Presentation is loading. Please wait.

Boundary Conditions / CFX Expression Language

Similar presentations

Presentation on theme: "Boundary Conditions / CFX Expression Language"— Presentation transcript:

1 Boundary Conditions / CFX Expression Language
Lecture 3

2 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 don’t have to accept the default names) Select the Domain for the Boundary Condition (applicable to multi-domain cases).

3 Basic Settings Boundary Type Location Coord Frame Frame 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.

4 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)

5 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.

6 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.

7 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.

8 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.

9 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.

10 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.

11 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.

12 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

13 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

14 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.

15 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.

16 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)

17 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

18 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

19 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] [yds] (valid) 2.5 [s m^-1] - (3.0 [m s^-1])^ (valid) 1.0 [mm] [kg] (invalid)

20 Rules for Expressions Fractional and decimal powers are allowed
a^(1/2) (valid) 1.0^ (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]

21 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

22 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

23 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

24 Built in functions / constants
Some numerical functions and operators are also available in CEL 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 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, *** both x and y must have the same dimensions.

25 Built in operators/functions and constants
Some constants are also available in CEL for developing your expressions, these are: e Constant: g Acceleration due to gravity: [m s^-2] pi Constant: R Universal Gas Constant: [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

26 Defining Expressions CFX-Pre Modifying the solver CCL
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

27 CEL Example: Variable Viscosity
Mathematical Expression Viscosity of a shear thickening fluid: where  is the shear strain rate CEL Equivalent 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))^(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 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

29 Expression Editor Expression Editor
Interactive tool for developing and managing expressions within CFX Available from many panels and from the Create pull down menu

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

31 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

32 CEL Example (B.C.) The following example shows how to set angular velocity for a rotating wall using the u and v components :

33 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: Mass flow of particular fluid through a locator: Note: syntax - must always supply a location. Phase/component can be selected using [<phase>.][<component>.]<function>

34 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)

35 Integrated Quantities
EXPRESSIONS: ReqT = 350 [K] TempOut = 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 HEAT TRANSFER : Option = Static Temperature Static Temperature = TCTemp

36 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

37 CFX-Post Functions CFX-Post provides an additional set of functions:
[<Fluid>.]<function>[_<Axis>[_<Coord 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

38 CFX-Post Functions CFX-Post provides an additional set of functions:
[<Fluid>.]<function>[_<Axis>[_<Coord 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

39 CEL Example: Pressure Coefficient
Mathematical Expression Pressure Coefficient: CEL Equivalent Pressure Coefficient Pref = DynH = Cpress = (P - Pref)/DynH or Cpress = (P - /

40 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.

Download ppt "Boundary Conditions / CFX Expression Language"

Similar presentations

Ads by Google