CFD Online Discussion Forums

CFD Online Discussion Forums (http://www.cfd-online.com/Forums/)
-   Fluent UDF and Scheme Programming (http://www.cfd-online.com/Forums/fluent-udf/)
-   -   3D UDF Paraboilc Velocity Profile with max velocity (http://www.cfd-online.com/Forums/fluent-udf/83593-3d-udf-paraboilc-velocity-profile-max-velocity.html)

johnGo January 4, 2011 15:35

3D UDF Paraboilc Velocity Profile with max velocity
 
Hello,

I am simulating the air flow over a 3D building in a wind domain using a paraboilc velocity inlet profile.

I have this UDF but i would like have a max velocity in my UDF, exemple 5 m/s

// UDF code for 3D parabolic Velocity Profile //

#include "udf.h"

DEFINE_PROFILE(inlet_x_velocity, thread, position)

{

real x[ND_ND];

real z; // Vertical Distance

face_t f;

begin_f_loop(f, thread)

{

F_CENTROID(x,f,thread);

z = x[2];

F_PROFILE(f, thread, position) = 24.9 *pow(z,0.27);

}

end_f_loop(f, thread)

}

Thank you

ComputerGuy January 4, 2011 22:45

If you just want to limit the velocity, you could look at the lesser of two values: your function, and 5.0. Like this:
Code:

#include "udf.h"

DEFINE_PROFILE(inlet_x_velocity, thread, position)
{
        real x[ND_ND];
        real z; // Vertical Distance
        face_t f;
        begin_f_loop(f, thread)
        {
                F_CENTROID(x,f,thread);
                z = x[2];
                F_PROFILE(f, thread, position) = MIN(24.9 *pow(z,0.27),5.0);
        }
        end_f_loop(f, thread)
}

If the MIN function is giving you trouble (can't remember if Fluent's interpreter has it built-in), you can get the same functionality with:
Code:

#include "udf.h"

DEFINE_PROFILE(inlet_x_velocity, thread, position)
{
        real x[ND_ND];
        real z; // Vertical Distance
        face_t f;
        begin_f_loop(f, thread)
        {
                F_CENTROID(x,f,thread);
                z = x[2];
                F_PROFILE(f, thread, position) = 24.9 *pow(z,0.27);
                if ((24.9 *pow(z,0.27))>5.)
                {
                        F_PROFILE(f, thread, position) = 5.0;
                }
        }
        end_f_loop(f, thread)
}



All times are GMT -4. The time now is 03:27.