CFD Online Discussion Forums

CFD Online Discussion Forums (
-   Fluent UDF and Scheme Programming (
-   -   UDF for inhomogenous Neumann boundary condition (

akhilesh July 27, 2009 15:24

UDF for inhomogenous Neumann boundary condition

I am new to FLUENT
I have to set du/dy=G, G=0.01,0.02. (d is partial derivative) @ some boundary.
discretized form of the above eq would be



here u_f is u velocity at face center and u_c is same at cell center of corresponding cell and del_y is distance between face center and cell center.
I have written the following udf to set this..

#define dy 0.08754886724
#define G 0.01
#define uavg 0.1
#define H 10.0

face_t f;
cell_t c0;
Thread *t0;

c0 = F_C0(f,thread);
t0 = THREAD_T0(thread);


no problem in interpretation..
but results are not coming fine.
I have checked the face center and cell center value of u at that boundary, they are coming same, like for symmetry boundary condition.
Please help me in finding the bug in the udf.


moun139 June 3, 2012 04:38


i have the same problem .

sbaffini June 3, 2012 09:01

Try this:

#include "udf.h"
#include "sg.h"
DEFINE_PROFILE(wall_x_velocity, t, i)
real dr0[ND_ND];
real A[ND_ND];
real es[ND_ND];
real s, ds, A_by_es;
face_t f;

s=2.0; /*Specify your own value*/

begin_f_loop(f, t)
F_PROFILE(f, t, i) = C_U(F_C0(f,t),THREAD_T0(t))+s*ds;
end_f_loop(f, t)

You may also want to check BOUNDARY_FACE_GEOMETRY in the manual to improve the approximations in the UDF above; indeed it is assumed that the wall parallel velocity is along the x direction. A more correct implementation should first obtain the wall parallel velocity from the full 3D one, use this one to define the velocity at the wall from the specified wall normal gradient (also accounting for grid non-orthogonalities) and then project this velocity back to the three coordinates. This UDF provides you all the ingredients to accomplish the task, you just need to put in some vector algebra.

However, in the wall panel you also have the option to directly specify the shear at the wall, making the above UDF actually not required.

Rahul123 December 24, 2012 12:14

If I have to write a UDf for du/dy=0. Can I write it as F_PROFILE(f, t, i) = C_U(F_C0(f,t),THREAD_T0(t));

All times are GMT -4. The time now is 08:47.