CFD Online Discussion Forums

CFD Online Discussion Forums (
-   Fluent UDF and Scheme Programming (
-   -   UDF temperature profile (

NeoGamaes October 10, 2011 10:29

UDF temperature profile
Hello all,

My question will maybe seem quite easy for some of you, but i've never used UDF before and i'm a little lost, especialy cause i don't know either how to code in this language.
Anyway, to make short, i have the temperature values of a wall surface, obtained experimentatly. Now i would like to implement them in the simulation.

I have for ex:
x=0.1cm T=350K
x=0.2cm T=367K
x=0.3cm T=389K....

How can i put all these values in my simulation via UDF?

Thanks all for your future helps.

SerSe January 9, 2012 06:11

Hi Anthony,

I also have to specify the temperature profile (fixed in time) at a wall and do not know how...
how did you solve the problem? Might you copy the udf file you wrote to specify wall temperature?

Thank you very much!!


Bionico January 9, 2012 06:41

I would insert a Profile rather than an UDF. try it!

NeoGamaes January 9, 2012 09:10

I solved the problem by finding the polynomial equation feeting with my points. I found this equation with Matlab.

SerSe January 13, 2012 13:33

I tried with the following profile file to simulate a linearly increasing temperature at a wall

((temperature line 2)
-0.3955 0.682 )
0.0795 0.0795 )
1173.15 1923.15 )

The file simply contains locations of two nodes and temperature values at these nodes. Fluent reads it easily, but after initializing the solution there is not such temperature distribution at the wall. The temperature I get is the one from the fluid zone.

Might you help me on this?

For NeoGamaes - How did you include the polynomial function at a wall?

Thank you very much!

NeoGamaes January 16, 2012 04:10

Exemple of Temperature profile:


/* temperature_profile2_100.c                                                          */
/* UDF for specifying a temperature profile boundary condition for the disk */

#include "udf.h"

DEFINE_PROFILE(temperature100disk, thread, index)
  real x[ND_ND];                /* this will hold the position vector */
  real y;
  face_t f;

  begin_f_loop(f, thread)
      y = x[1];
        F_PROFILE(f, thread, index) = (-3363080951743./1000000000)*y*y+(426743./10000)*y+(3710751./10000);
  end_f_loop(f, thread)

If your wall is horizontal in Fluent, you just have to replace x by y. To find the polynomial function with Matlab, use the "polyfit" and "polyval" function.. it's really easy.

All times are GMT -4. The time now is 15:53.