# defining temperature profile with UDF

 User Name Remember Me Password
 Register Blogs Members List Search Today's Posts Mark Forums Read

 LinkBack Thread Tools Search this Thread Display Modes August 2, 2010, 11:21 defining temperature profile with UDF
#1
Member

mohammad
Join Date: Apr 2010
Posts: 42
Rep Power: 12 Dear all
I tried to define the temperature profile which is attached, with UDF.
Here is the UDF:
DEFINE_PROFILE(x_temperature,thread,index)
{
Domain *domain=Get_Domain(1);
real x[ND_ND]; /* this will hold the position vector */
real y,b;
face_t f;
begin_f_loop(f,thread) /* loops over all faces in the thread passed in the DEFINE macro argument */
{
F_CENTROID(x,f,thread);
y = x;
b=x;
F_PROFILE(f,thread,index) =295+(11734506.78*(pow((y/2),2)-(pow(y,4)/(8.1*0.00001))))-4.331683168+(15.8038854*b);
}
end_f_loop(f,thread)
}
////////////////////////////////////
I hook the UDF in the boundary condition and i can get the results without any problem. However the results are wrong.
Have i written the UDF correctly?
Please help me, i really stuck on this problem.
Attached Images 123.bmp (32.6 KB, 195 views)   August 2, 2010, 23:18 #2 New Member   Join Date: Jul 2010 Posts: 6 Rep Power: 12 how about change"F_PROFILE(f,thread,index) =295+(11734506.78*(pow((y/2),2)-(pow(y,4)/(8.1*0.00001))))-4.331683168+(15.8038854*b); " to this "F_PROFILE(f,thread,index) =295.+(11734506.78*(pow((y/2.),2.)-(pow(y,4.)/(8.1*0.00001))))-4.331683168+(15.8038854*b); "   August 3, 2010, 02:28 #3 Member   mohammad Join Date: Apr 2010 Posts: 42 Rep Power: 12 Thanks for your help. I will try this. But what's the difference between them?   August 3, 2010, 03:17 #4 New Member   Join Date: Jul 2010 Posts: 6 Rep Power: 12 eg. 295, the type of variable is "int"; 295., "real"; maybe this is ur problem.   August 3, 2010, 03:24 #5 Member   mohammad Join Date: Apr 2010 Posts: 42 Rep Power: 12 Thanks for your reply. why shouldn't i put "." after 4.331683168. For example F_PROFILE(f,thread,index) =295.+(11734506.78*(pow((y/2.),2.)-(pow(y,4.)/(8.1*0.00001))))-4.331683168.+(15.8038854*b);   August 3, 2010, 05:29 #6 New Member   Join Date: Jul 2010 Posts: 6 Rep Power: 12 4.331683168. oh, i don't think it a right way to discribe a real value either.   August 3, 2010, 11:58 #7 Member   mohammad Join Date: Apr 2010 Posts: 42 Rep Power: 12 Thanks again for your reply. I checked that code too, but unfortunately the results were still the same and there was no difference between them. I have a question about velocity profile. Should i make this change in velocity profile too? I defined velocity profile too. UDF is: # include "udf.h" # include "math.h" DEFINE_PROFILE(x_velocity,thread,index) { real x[ND_ND]; /* this will hold the position vector */ real y; face_t f; begin_f_loop(f,thread) /* loops over all faces in the thread passed in the DEFINE macro argument */ { F_CENTROID(x,f,thread); y = x; F_PROFILE(f,thread,index) =2* 0.05391789*(1-((y/0.00225)*(y/0.00225))) ; } end_f_loop(f,thread) } DEFINE_PROFILE(x_temperature,thread,index) { Domain *domain=Get_Domain(1); real x[ND_ND]; /* this will hold the position vector */ real y,b; face_t f; begin_f_loop(f,thread) /* loops over all faces in the thread passed in the DEFINE macro argument */ { F_CENTROID(x,f,thread); y = x; b=x; F_PROFILE(f,thread,index) =295+(11734506.78*(pow((y/2),2)-(pow(y,4)/(8.1*0.00001))))-4.331683168+(15.8038854*b); } end_f_loop(f,thread) } Thanks again   June 24, 2013, 15:52 hi
#8
New Member

UMICH
Join Date: Jun 2013
Posts: 1
Rep Power: 0 How can I do the same problem but in 3d, thanks

Quote:
 Originally Posted by oldfreshman how about change"F_PROFILE(f,thread,index) =295+(11734506.78*(pow((y/2),2)-(pow(y,4)/(8.1*0.00001))))-4.331683168+(15.8038854*b); " to this "F_PROFILE(f,thread,index) =295.+(11734506.78*(pow((y/2.),2.)-(pow(y,4.)/(8.1*0.00001))))-4.331683168+(15.8038854*b); "   July 2, 2013, 00:30 #9 New Member   hamid Join Date: Jul 2013 Posts: 5 Rep Power: 9 hi all, i am trying to write a udf for a linear temperature distribution along the wall as a temperature boundary condition. the wall is subjected to an end of 325 K and an end of 300 K temperature and a linear distribution should be peresent for the wall. the wall position from the origin -0.06 to +0.06 . i found a udf here but it seems that does not work because after interpreting and when i want to initialize an access violation error occurs. please please help me. this is the first time that i work with ansys fluent. thank you. //////////////////// #include "udf.h" DEFINE_INIT(linear_temp,d) { cell_t c; Thread *t; real xc[ND_ND]; real m; real Tt=325., Tb=300.; real xb=0.06,xt=-0.06; real dT=(Tt-Tb)/(xt-xb); /* loop over all cell threads in the domain */ thread_loop_c(t,d) { /* loop over all cells */ begin_c_loop_all(c,t) { C_CENTROID(xc,c,t); m=xc; C_T(c,t)=Tb+(m-xb)*dT; } end_c_loop_all(c,t) } } ////////////////////   July 2, 2013, 07:26 #10 Member   Yash Ganatra Join Date: Mar 2013 Posts: 67 Rep Power: 10 You can't use C_T(c,t) = something ; FLUENT automatically computes cell temperature ; so that's the reason I guess access violation is coming ; go through FLUENT UDF MANUAL especially the DEFINE_PROFILE macro.   July 3, 2013, 00:09 #11 New Member   hamid Join Date: Jul 2013 Posts: 5 Rep Power: 9 thanks yashganatra, I have change my udf to the the following code. is it correct for a wall boudary condition??? best regards //////////////////// #include "udf.h" DEFINE_PROFILE(linear_temp,thread,i) { real x[ND_ND]; real m; real Tt=325.,Tb=300.; real xb=0.06,xt=-0.06; real dT=(Tt-Tb)/(xt-xb); face_t f; begin_f_loop(f,thread) { F_CENTROID(x,f,thread); m=x; F_PROFILE(f,thread,i)=Tb+(m-xb)*dT; } end_f_loop(f,thread) } ////////////////////   July 3, 2013, 00:15 #12 Member   Yash Ganatra Join Date: Mar 2013 Posts: 67 Rep Power: 10 Just try it out and get back. Yash  Thread Tools Search this Thread Show Printable Version Email this Page Search this Thread: Advanced Search Display Modes Linear Mode Switch to Hybrid Mode Switch to Threaded Mode Posting Rules You may not post new threads You may not post replies You may not post attachments You may not edit your posts BB code is On Smilies are On [IMG] code is On HTML code is OffTrackbacks are Off Pingbacks are On Refbacks are On Forum Rules Similar Threads Thread Thread Starter Forum Replies Last Post Zaqie Fluent UDF and Scheme Programming 9 June 25, 2016 19:08 senD Fluent UDF and Scheme Programming 9 September 18, 2014 07:29 mohammadkm Fluent UDF and Scheme Programming 19 December 24, 2013 22:42 Shashikant FLUENT 0 June 24, 2006 03:16 sivakumar FLUENT 5 November 24, 2002 00:58

All times are GMT -4. The time now is 05:44.

 Contact Us - CFD Online - Privacy Statement - Top