CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   Fluent UDF and Scheme Programming (https://www.cfd-online.com/Forums/fluent-udf/)
-   -   UDF for slip boundary condition (https://www.cfd-online.com/Forums/fluent-udf/110407-udf-slip-boundary-condition.html)

rasoulb December 10, 2012 13:56

UDF for slip boundary condition
 
Hi all

I have written a UDF for slip boundary condition (u_{s}=L_{s}*du_dy) by C_U_G(c,t)[1] Macro.
1- I test my UDF for 2 & 3D steady laminar channel flow, it's work good with low slip length (0.0001-0.005) but for larger slip length not converged. Can anyone guide me for this convergence problem?

2. I need to use velocity gradient of previous time step for unsteady simulation. what macros I should use?

thanks

flotus1 December 10, 2012 14:13

Do you know that a boundary condition like this is already implemented in Fluent?

rasoulb December 10, 2012 14:29

what version? please guide me

Thanks

flotus1 December 10, 2012 16:42

Last time i read about it was in the version 13 manual, but i think it can also be found in earlier versions.
I am out of office right now, so all I can do is recommend a google search with 'fluent high knudsen boundary'.
I think you will figure it out by yourself, otherwise feel free ask again.

rasoulb December 11, 2012 02:46

slip velocity based on knudsen number is appropriate for gases and Not applicable for liquids. please say another method.

thanks

flotus1 December 11, 2012 04:07

This holds true for a microscopic point of view.

But if you just want a boundary condition in the form (http://www.cfd-online.com/Forums/vbL...f9527e29-1.gif=http://www.cfd-online.com/Forums/vbL...c40486a6-1.gif*du_dy), the high Knudsen number boundary condition in fluent is the right choice, no matter what type of fluid you are using.

rasoulb December 13, 2012 11:56

thanks flotus1 for your answers.
high Knudsen number boundary condition is for Low-Pressure Gas Systems and available only when the Laminar model is selected in the Viscous Model panel (based on explanation expressed in fluent 6.3 help). but my Model is LES and pressure is high in my case.

flotus1 December 14, 2012 04:53

"high" pressure is not the problem in your case.
The boundary treatment can be used at any pressure level. The term "low pressure" comes from one of the applications of the model in low-pressure systems. But the model is appropriate at arbitrary pressure levels, whenever the Knudsen number is high.
I am currently studying flows at normal pressure levels with a BC like this.

But I see now that this BC is not an option since your Model is LES.
Perhaps it is possible to activate the BC with a LES model with a text command. This would be a question for the fluent support.

m zahid November 13, 2014 04:03

hi
 
hi, i need a UDF for slip boundary condition at the bottom of the domain or at the ground (wall), case is just like a flow over a building. if anybody have sample UDF please share this, z is a vertical axis of my domain. thanks

mziqureshi@hotmail.com

regards,

pakk November 13, 2014 04:12

Quote:

Originally Posted by m zahid (Post 518922)
hi, i need a UDF for slip boundary condition at the bottom of the domain or at the ground (wall), case is just like a flow over a building. if anybody have sample UDF please share this, z is a vertical axis of my domain. thanks

mziqureshi@hotmail.com

regards,

Please read the messages in this thread more carefully. If you would have done that, you would not have asked for a UDF.

m zahid November 13, 2014 08:42

hi, thanks pakk, here rasoulb use slip length instead of dynamic viscosity, as given in the link
http://www.cfd-online.com/Wiki/Wall_shear_stress

do u know the relationship between slip length and dynamic viscosity.

thanks

pakk November 13, 2014 09:13

First question you should ask yourself: What is the equation for slip that you want to implement?

Second question you should ask yourself: What is the equation for slip that Fluent has implemented? (This is written in the Help, look it up.)

Third question: How can you choose parameters such that the Fluent implementation is the same as what you want?

DaveD! March 20, 2019 10:37

UDF for slip boundary condition
 
Here is a code for applying a wall slip velocity based on wall slip layer thickness and the strain rate (which corresponds to \partial{u}/\partial{n}) at the wall.

To make it work, some under-relaxation is required for the calculated tangential wall velocity c_t.

BTW: The formula for Maxwell-based Slip Boundary Formulation for Low-Pressure Gas Systems (https://www.sharcnet.ca/Software/Flu...ug/node613.htm) is not applicable for cases, where there is a significant pressure and/or temperature change within the domain, since the parameter \lambda is auto-calculated by fluent. Hence, it is not possible to set \alpha_v and \sigma in way to get a constant factor left of the term (U_g-U_c)/\delta, which is an approximation for \partial{u}/\partial{n}.

Now, here is the code:

Code:

#include "udf.h"
/*
===============================================
Velocity slip at wall boundaries
separate routines for every velocity coordinate
UDF can be interpreted
at least 2 user-defined memories (UDM) need to be allocated first!
===============================================
*/
// wall slip layer thickness [m]
#define DELTA 10.0e-6
// under-relaxation factor for tangential wall velocity
#define RELAX_CT 0.1
 
DEFINE_PROFILE(slip_velocity_x,f_thread,index)
{
face_t face;
cell_t cell;
Thread *c_thread;
real u, v;
real ct, cx;
real gamma;
int i;
begin_f_loop(face,f_thread) // for each face: get face-id and thread
{
 cell=F_C0(face,f_thread); // get corresponding cell
 c_thread=THREAD_T0(f_thread); // get cell thread
 u = C_U(cell,c_thread); // F_U(face,f_thread); // get cell center velocity u
 v = C_V(cell,c_thread); // F_V(face,f_thread); // get cell center velocity v
 gamma = C_STRAIN_RATE_MAG(cell,c_thread); // get strain rate (equivalent to du/dn at wall)
 
 ct = (1-RELAX_CT)*F_UDMI(face,f_thread,0)+RELAX_CT*DELTA*gamma; // calculate tangential velocity (with under-relaxation using previous calculation step)
 F_UDMI(face,f_thread,0)=ct; //store in user-defined face memory (id=0) for next calculation
 
 cx = ct*u/sqrt(u*u+v*v); // component of ct in x-direction
 F_PROFILE(face,f_thread,index) = cx; // assign to profile
}
end_f_loop(face,f_thread)
}
DEFINE_PROFILE(slip_velocity_y,f_thread,index)
{
face_t face;
cell_t cell;
Thread *c_thread;
real u, v;
real ct, cy;
real gamma;
begin_f_loop(face,f_thread)
{
 cell=F_C0(face,f_thread); // get cell
 c_thread=THREAD_T0(f_thread); // get cell thread
 u = C_U(cell,c_thread); // F_U(face,f_thread);
 v = C_V(cell,c_thread); // F_V(face,f_thread);
 gamma = C_STRAIN_RATE_MAG(cell,c_thread);
 
 ct = (1-RELAX_CT)*F_UDMI(face,f_thread,1)+RELAX_CT*DELTA*gamma;
 F_UDMI(face,f_thread,1)=ct;
 
 cy = ct*v/sqrt(u*u+v*v);
 F_PROFILE(face,f_thread,index) = cy;
}
end_f_loop(face,f_thread)
}


homay95 May 3, 2020 12:58

UDF for slip velocity and temperature jump
 
Hello everyone
I'm having problem with writing UDF for these two functions(slip velocity and temperature jump) below for a liquid-solid interface:
1. V= L(du/dy)
2. T)f = T)s + L(dT/dy)
in which V is slip velocity, u is mean velocity along with x axis, T)f is fluid temperature and T)s is solid temperature
I would appreciate very much if anyone who has UDF for those functions please send me here or at: homayoonsohrabi@yahoo.com
thanks for any help

FORGODSAKE March 8, 2021 04:35

UDF for slip flow in microchannels
 
i want to add alternate slip and no slip boundary condition for studying fluid flow 2D microchannels . I wish to get slip length .what UDF should i use.

XinZhang October 15, 2021 03:35

Hi, Dave. I read your UDF and I am working on a slip wall simulation too. The problem confuse me is that when we define the slip wall boundary, a Specified Shear sholud be defined in fluent. How can you write a UDF of the Shear Stress? Does your UDF work well now? Thanks a lot.


All times are GMT -4. The time now is 00:28.