![]() |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Description
You can use DEFINE_VECTOR_EXCHANGE_PROPERTY to specify custom slip velocities for the multiphase Mixture model.
Usage
DEFINE_VECTOR_EXCHANGE_PROPERTY( name, c, mixture_thread, |
second_column_phase_index, first_column_phase_index, vector_result) |
|
Note that all of the arguments to a
DEFINE macro need to be placed on the same line in your source code. Splitting the
DEFINE statement onto several lines will result in a compilation error.
|
Argument Type | Description |
symbol name | UDF name. |
cell_t c | Cell index. |
Thread *mixture_thread | Pointer to cell thread of mixture domain. |
int second_column_phase_index | Index of second phase in phase interaction. |
int first_column_phase_index | Index of first phase in phase interaction. |
real *vector_result | Pointer to slip velocity vector. |
Function returns: void | |
There are six arguments to DEFINE_VECTOR_EXCHANGE_PROPERTY: name, c, mixture_thread, second_column_phase_index, first_column_phase_index, and vector_result. You supply name, the name of the UDF. c, mixture_thread, second_column_phase_index, first_column_phase_index, and vector_result are variables that are passed by the ANSYS FLUENT solver to your UDF. Your UDF will need to set the values referenced by the real pointer to the slip velocity vector ( vector_result) to the components of the slip velocity vector (e.g., vector_result[0], vector_result[1] for a 2D problem).
Example
The following UDF, named custom_slip, specifies a custom slip velocity in a two-phase mixture problem.
|
Note that in the example that follows, the
DEFINE_VECTOR_EXCHANGE_PROPERTY statement is broken up into two lines for the sake of readability. In your source file, you must make sure that the
DEFINE statement is on one line only.
|
/*************************************************************** UDF for a defining a custom slip velocity in a 2-phase mixture problem ****************************************************************/ #include "udf.h" DEFINE_VECTOR_EXCHANGE_PROPERTY(custom_slip,c,mixture_thread, second_column_phase_index,first_column_phase_index,vector_result) { real grav[2] = {0., -9.81}; real K = 5.e4; real pgrad_x, pgrad_y; Thread *pt, *st;/* thread pointers for primary and secondary phases*/ pt = THREAD_SUB_THREAD(mixture_thread, second_column_phase_index); st = THREAD_SUB_THREAD(mixture_thread, first_column_phase_index); /* at this point the phase threads are known for primary (0) and secondary(1) phases */ pgrad_x = C_DP(c,mixture_thread)[0]; pgrad_y = C_DP(c,mixture_thread)[1]; vector_result[0] = -(pgrad_x/K) +( ((C_R(c, st)- C_R(c, pt))/K)* grav[0]); vector_result[1] = -(pgrad_y/K) +( ((C_R(c, st)- C_R(c, pt))/K)* grav[1]); } |
|
Note that the pressure gradient macro
C_DP is now obsolete. A more current pressure gradient macro can be found in Table
3.2.4.
|
Hooking a Vector Exchange Property UDF to
ANSYS FLUENT
After the UDF that you have defined using DEFINE_VECTOR_EXCHANGE_PROPERTY is interpreted (Chapter 4) or compiled (Chapter 5), the name of the argument that you supplied as the first DEFINE macro argument (e.g., custom_slip) will become visible and selectable in the Phase Interaction dialog box in ANSYS FLUENT. See Section 6.3.5 for details.