CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   FLUENT (https://www.cfd-online.com/Forums/fluent/)
-   -   Trapezoidal microchannel and slip velocity. Help needed. (https://www.cfd-online.com/Forums/fluent/132293-trapezoidal-microchannel-slip-velocity-help-needed.html)

thapostol March 28, 2014 14:36

Trapezoidal microchannel and slip velocity. Help needed.
 
Hello guys. First of all thumbs up for a great forum. Superb job!

I am trying to simulate a laminar, steady state, incompressible liquid (water) flow through a micro-channel (trapezoid cross section), with a uniform inlet-velocity (couple of mm/sec).

The simulation's velocity results are then compared to actual microPIV measurements on a super-hydrophilic and a super-hydrophobic microchannel.

The fluent solution, with no-slip wall boundary conditions, provides velocity profiles in accordance with the measurements on the super-hydrophilic microchannel.

For the actual super-hydrophobic channel, experiments provide the slip velocity (and slip length) of the flow for the small base and the sidewall of the microchannel.

Now I need a way to fix these channel-height-related slip values on the fluid domain and calculate a solution. :confused:

I tried using DEFINE_PROFILE UDFs to impose wall motion velocities (but the results are nowhere near the measurements). Also I have been trying to use fixed velocities in the fluid domain with no luck so far.


Some questions:
1) Is FLUENT able to handle non-uniform wall motion for wall boundaries (in reality no wall can move that way...)?
e.g.
Code:

Vel(x)=a*y+b // a=a1, b=b1 for 0 <= y <Y1
                            a=a2, b=b2 for Y1 <= y <y2  ...

                            a=an, b=bn  for Yn-1 <=y <=Yn.

2) Having a universal XYZ coordinate system (X along the length of microchannel, Y height between parallel bases and Z along small base), how can I input the Y coordinates of the sidewall (54 degrees angle against the parallel bases) in a UDF? Will the use of universal x[1] coordinates for the sidewall ID thread be enough for the above mentioned velocity functions??

3) Fixed velocities values in the fluid domain.
I am trying to find out whether can I fix velocities in the cells adjacent to the thread zones of wall boundaries, or not.

I think maybe something like this udf not used yet (in part used for the aforementioned velocity profiles).

Code:

#include "udf.h"
DEFINE_PROFILE(fixed_velocities,t,nv)
{
        real x[ND_ND];
        double a;
        double b;
        double y;
        cell_t c;
        Thread* t;
        int idsidewall = 6;
        int idbottom = 0;
       
        if (THREAD_ID(t)==idsidewall)
        begin_c_loop(c,t)
        {
                C_CENTROID(x,c,t);
                y=x[1];
                if ((y >= 0.) && (y < 0.000041027))
                        {
                        a = 0.731231;
                        b = 0.00125;
                        }
                else if (y < 0.000049232)
                        {
                        a = 12.181716;
                        b = 0.00078;
                        }
                else if (y < 0.000065643)
                        {
                        a = 100.544204;
                        b = -0.00357;
                        }
                else if (y < 0.000082053)
                        {
                        a = 12.796535;
                        b = 0.00219;
                        }
                else if (y < 0.000098464)
                        {
                        a = -38.389605;
                        b = 0.00639;
                        }
                else if (y < 0.000114875)
                        {
                        a = -91.403822;
                        b = 0.01161;
                        }
                else if (y < 0.000147696)
                        {
                        a = -22.850956;
                        b = 0.003735;
                        }
                else if (y < 0.00015196)
                        {
                        a = -30.435494;
                        b = 0.004855;
                        }
                else
                        {
                        a=0.;
                        b=0.;
                        }
                F_PROFILE(c,t,nv) = a*y + b;
        end_c_loop(c,t)
        }       
       
       
        if (THREAD_ID(t)==idbottom)
        begin_c_loop(c,t)
        {
                C_CENTROID(x,c,t);
                F_PROFILE(c,t,nv) = 0.00125;
       
        end_c_loop(c,t)
        }
}

If I haven't explained appropriately my case please ask for clarifications.
Any ideas, pointers and/or corrections will be much appreciated!


All times are GMT -4. The time now is 11:39.