Fluent UDF Training-2
Short Description
training material...
Description
2011
ANSYS FLUENT GUIDE Advanced FLUENT User-Defined Functions You can access and manipulate almost every solver data and fully control the solution process in UDF-s written in C programming Language.
Saeed Sadeghi (www.fluent.blogfa.com) Pardad Petro Danesh (www.petrodanesh.com) Pardad Petro Danesh (www.petrodanesh.com) | Confidential 1/12/2011
Introduction
2
Table of Contents 1
Introduction ........................................... ............................................................................................ ......................................................................................... ........................................ 4
2
User Access to the FLUENT Solver.......................................... ........................................................................................... ......................................................... ........ 4
3
C Programming ............................................... ................................................................................................ ................................................................................. ................................ 5
4
Cfd Programming in FLUENT ............................................... ............................................................................................... ............................................................ ............ 7
5
UDF Basics ........................................... ............................................................................................ ............................................................................................ ........................................... 7
6
Using UDFs in the Solvers ......................................... .......................................................................................... ....................................................................... ...................... 8
7
Data structure overview.......................................... .......................................................................................... ........................................................................ ........................ 8 7.1
The Domain .......................................... .......................................................................................... ................................................................................... ................................... 8
7.2
The Threads .......................................... .......................................................................................... ................................................................................... ................................... 9
7.3
Cell and Face Datatypes ............................................ ............................................................................................ .............................................................. .............. 9
7.4
Some Additional info on Faces ............................................. ............................................................................................. ................................................... ... 9
8
Fluent UDF Data Structure Summary ........................................... ........................................................................................... .................................................. 10
9
Geometry Macros ................................................ ................................................................................................. ......................................................................... ........................ 11
10
Cell Field Variable Macros ............................................ ............................................................................................. ............................................................. ............ 12
11
Face Field Variable Macros .......................................... ........................................................................................... ............................................................. ............ 13
12
Looping and Thread Macros......................................... .......................................................................................... ............................................................. ............ 14
13
Macros .......................................... .......................................................................................... ............................................................................................. ............................................. 15
13.1
DEFINE Macros .............................................. .............................................................................................. ........................................................................ ........................ 15
13.2
Othe UDF Applications ............................................ ............................................................................................. .............................................................. ............. 16
14
User Defined Memories ............................................. .............................................................................................. ............................................................... .............. 17
15
User Defined Scalars.................................................. Scalars.................................................................................................. ................................................................ ................ 18
16
Interpreted vs. Compiled UDF’s ............................................ ............................................................................................. .................................................... ... 19
17
UDF Technical Support .............................................. ............................................................................................... ................................................................ ............... 19
18
Example: Parabolic Inlet Velocity Profile .......................................... .................................................................................. ........................................ 20
18.1
Step 1: Prepare the Source Code ............................................... .......................................................................................... ........................................... 20
18.2
Step 3: Interpret or Compile the UDF .......................................... ................................................................................... ......................................... 20
18.3
Step 4: Activate the UDF ................................................. ................................................................................................. ...................................................... ...... 21
18.4
Steps 5 and 6: Run the Calculations ........................................... ...................................................................................... ........................................... 21
18.5
Numerical Solution of the Example............................................ ....................................................................................... ........................................... 21
19
Example: Checking Effect of Porous Zone on Momentum Equation ........................................ 22
19.1
Using Fluent Built-in Porous Zone ............................................. ......................................................................................... ............................................ 22
19.2
Using Momentum Source Terms.............................. Terms............................................................................... ............................................................. ............ 23
20
Example: Modeling Fuel Cell ............................................. .............................................................................................. ........................................................ ....... 24 Saeed Sadeghi (www.fluent.blogfa.com) Pardad Petro Danesh (www.petrodanesh.com)
Introduction
3
20.1
Preparation................................................ ................................................................................................ ............................................................................ ............................ 24
20.2
Mesh............................................... ............................................................................................... ....................................................................................... ....................................... 24
20.3
General Settings .......................................... .......................................................................................... .......................................................................... .......................... 24
20.4
Models ............................................. .............................................................................................. ...................................................................................... ..................................... 25
20.5
Materials .......................................... .......................................................................................... ..................................................................................... ..................................... 25
20.6
Boundary Conditions ............................................ ............................................................................................. ................................................................. ................ 26
20.6.1
Setting Velocity Inlet .............................................. .............................................................................................. ....................................................... ....... 29
20.6.2
Pressure Outlet............................................ ............................................................................................ .................................................................. .................. 29
20.7
Writing UDF ............................................. .............................................................................................. .............................................................................. ............................. 30
20.7.1 20.8 21
Compiling the UDF................................................ UDF................................................................................................ ......................................................... ......... 32
Checking Oxygen Mass Balance .............................................. ............................................................................................ .............................................. 37 Fluent Frequently Asked Questions ............................................. .......................................................................................... ............................................. 39
21.1
My UDF won't interpret or compile - what is wrong? ............................................ .......................................................... .............. 39
21.2
How to Set Environment Variables .......................................... ....................................................................................... ............................................. 39
21.2.1
On Windows 32 Bit ............................................... ............................................................................................... ......................................................... ......... 39
21.2.2
On Windows 64 Bit ............................................... ............................................................................................... ......................................................... ......... 39
Saeed Sadeghi (www.fluent.blogfa.com) Pardad Petro Danesh (www.petrodanesh.com)
Introduction
1 •
4
Introduction What is a User Defined Function? o
A UDF is a routine (programmed by the user) written in C which can be dynamically linked with the solver.
Standard C functions •
Pre-Defined Macros •
•
e.g., trigonometric, exponential, control blocks, do-loops, file i/o, etc. Allows access to field variable, material property, and cell geometry data.
Why build UDF’s? o
Standard interface cannot be programmed to anticipate all needs.
Customization of boundary conditions, source terms, reaction rates, material properties, etc.
2
Adjust functions (once per iteration)
Execute on Demand functions
Solution Initialization
User Access to the FLUENT Solver
Saeed Sadeghi (www.fluent.blogfa.com) Pardad Petro Danesh (www.petrodanesh.com)
C Programming
3
5
C Programming •
Basic syntax rules: o
Each statement must be terminated with a semicolon ;
o
Comments can be inserted anywhere between /* and */
o
Variables must be explicitly declared (unlike in FORTRAN)
o
Compound statements must be enclosed by {
o
Functions have the following format:
}
return-value-type function-name (parameter-list) { function body } o •
Macros are defined in the header files, they can be used just like functions
Built-in data types: int, float, double, enum, Boolean: int niter, a;
/* declaring ‘niter’ and ‘a’ as integers */
float dx[10];
/* ‘dx’ is a real array with 10 members, the array index always starts from dx[0] */
enum { X, Y, Z }; /* X, Y, Z are enumeration constants 0, 1, 2 */ •
pointer is a special kind of variable that contains the memory address, not content, of another variable
•
Pointers are declared using the * notation:
int *ip; •
/* ip is declared as a pointer to integer */
We can make a pointer point to the address of predefined variable as follows: int a=1; int *ip; ip = &a; /* &a returns the address of variable a */ printf(“content of address pointed to by ip = %d\n”, *ip);
•
Pointers are also used to point to the beginning of an array o
•
Thus pointers are used to address arrays in C
Array variables can be defined using the notation name[size], where name is the variable name and size is an integer which defines the number of elements in the array (from 0 to size-1)
•
Operators =
(assignment)
+, -, *, /, % (modulus) , >=,
View more...
Comments