We’re putting the final touches on our new badges platform. Badge issuance remains temporarily paused, but all completions are being recorded and will be fulfilled once the platform is live. Thank you for your patience.

Ansys Learning Forum Forums Discuss Simulation Fluids Unexpected Downward Trend in Turb. Intensity Using Variable k and ε in Fluent Reply To: Unexpected Downward Trend in Turb. Intensity Using Variable k and ε in Fluent

anupamkrishnan91
Subscriber

Hi, Thank you for the reply. 
#UDF Starts from the next line#

#include "udf.h"
#include "math.h"
#include "stdlib.h"
 
// Define constants
#define C_MU 0.09
#define LENGTH_SCALE 0.07 /* Approximate length scale as 7% of characteristic length */
#define VELOCITY 1.46 /* Mean velocity (m/s) */
#define MIN_TI 0.44 /* Minimum turbulence intensity: 44% */
#define MAX_TI 0.60 /* Maximum turbulence intensity: 60% */
 
// Function to set time-dependent turbulent kinetic energy (k)
DEFINE_PROFILE(variable_k, thread, position)
{
    real time = CURRENT_TIME; /* Get current simulation time */
    real I; /* Turbulence intensity */
    real k; /* Turbulent kinetic energy */
    face_t f;
 
    /* Predefined turbulence intensity values*/
    real TI_values[15] = {0.44, 0.44, 0.44, 0.48, 0.51, 0.53, 0.56, 0.58, 0.56, 0.55, 0.53, 0.50, 0.49, 0.48, 0.46}; // Values adjusted
 
    int index = (int)(time); /* Convert time to an integer index (0 to 14) */
    if (index > 14) 
    {
        index = 14; /* Cap the index at 14 to keep TI at 46% after 15 seconds */
    }
 
    I = TI_values[index]; /* Assign the corresponding turbulence intensity */
 
    begin_f_loop(f, thread)
    {
        /* Compute turbulent kinetic energy (k) based on turbulence intensity (I) */
        k = 1.5 * pow(I * VELOCITY, 2); /* k = 3/2 * (I * U)^2 */
 
        F_PROFILE(f, thread, position) = k;
    }
    end_f_loop(f, thread)
}
 
// Function to set time-dependent turbulent dissipation rate (ε) based on k
DEFINE_PROFILE(variable_epsilon, thread, position)
{
    real time = CURRENT_TIME; /* Get current simulation time */
    real I; /* Turbulence intensity */
    real k; /* Turbulent kinetic energy */
    real epsilon; /* Turbulent dissipation rate */
    real l = LENGTH_SCALE; /* Turbulence length scale */
    face_t f;
 
    /* Predefined turbulence intensity values */
    real TI_values[15] = {0.44, 0.44, 0.44, 0.48, 0.51, 0.53, 0.56, 0.58, 0.56, 0.55, 0.53, 0.50, 0.49, 0.48, 0.46}; // Values adjusted
 
    int index = (int)(time); /* Convert time to an integer index (0 to 14) */
    if (index > 14) 
    {
        index = 14; /* Cap the index at 14 to keep TI at 46% after 15 seconds */
    }
 
    I = TI_values[index]; /* Assign the corresponding turbulence intensity */
 
    begin_f_loop(f, thread)
    {
        /* Compute turbulent kinetic energy (k) */
        k = 1.5 * pow(I * VELOCITY, 2); /* k = 3/2 * (I * U)^2 */
 
        /* Compute dissipation rate (ε) */
        epsilon = pow(C_MU, 0.75) * pow(k, 1.5) / l;
 
        F_PROFILE(f, thread, position) = epsilon;
    }
    end_f_loop(f, thread)
}

###

This is the UDF that I am using. 

Hope this would define the problem. 
Thanks in advance.