CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > ANSYS > FLUENT > Fluent UDF and Scheme Programming

F_C0_THREAD vs. THREAD_T0

Register Blogs Community New Posts Updated Threads Search

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   October 28, 2003, 05:02
Default F_C0_THREAD vs. THREAD_T0
  #1
Victor
Guest
 
Posts: n/a
Hello!

What is the difference between the UDF macros F_C0_THREAD(f,t) and THREAD_T0(t)? They seem to give the same information but the former seem to be much more common to use than the latter (The UDF manual does not give one example with THREAD_TO but plenty with F_C0_THREAD).

Another thing: When I try to use F_C0_THREAD I get the following error message: t0=F_C0_THREAD(f,t); error message: THREAD_STORE:undeclared variable.

Does anybody know why this is happening? I'm using an interpreted UDF if that is of any help.

/Victor
  Reply With Quote

Old   October 28, 2003, 10:32
Default Re: F_C0_THREAD vs. THREAD_T0
  #2
Ajay Rao
Guest
 
Posts: n/a
F_C0_THREAD(f,t) returns the "adjacent CO" cell type( cell_t) variable. so you need use as shown below

cell_t c;

c=F_C0(face,tf);

THREAD_T0(t) ( where t = face thread ) returns the "adjacent cell thread" . You need to use this as follows:-

Thread *t; /* to store the cell thread */ t=THREAD_T0(tf);

Let me know if u have more questions. Remove -nospan in my mail id if u need to reach me . Regards, Ajay

  Reply With Quote

Old   June 26, 2009, 14:05
Exclamation Clarification regarding your explaination
  #3
New Member
 
Ameya Durve
Join Date: Jun 2009
Location: Mumbai
Posts: 10
Rep Power: 16
ameyadurve is on a distinguished road
Hey Ajay,

I am also facing the same problem as victor.

I could not exactly understand what you have written. I am posting my entire code here. Please go through it and let me know what changes I should do in order to get my UDF running.


#include "udf.h"
#include "mem.h"

DEFINE_UDS_FLUX(uds_flux, f, t, i)

{

Thread *t0, *t1 = NULL;
cell_t c0, c1 = -1;
real flux = 0.0;
real density;

begin_f_loop(f, t)
{
t0 = THREAD_T0(t);
c0 = F_C0(f,t);
//t0 = F_C0_THREAD(f, t);

if (NULL != THREAD_T1(f,t))

{
t1 = THREAD_T1(t);
c1 = F_C1(f,t);
//t1 = F_C1_THREAD(f, t);

density = C_R(c0, t0);
density = density + C_R(c1, t1);
density = density / 2;
}

else
{
if (NNULLP(THREAD_STORAGE(t,SV_DENSITY)))

{
density = F_R(f, t);
}
else
{
density = C_R(c0, t0);
}
}

flux = F_FLUX(f,t) / density;

return flux;

}

end_f_loop(f, t)

}




As you can see i have commented out the lines that used F_C0_THREAD(f, t)


Although my UDF is interpreted without errors it does not run.


No use compiling either.


Please reply as soon as you can.

Last edited by ameyadurve; June 26, 2009 at 14:44. Reason: Wrong UDF code
ameyadurve is offline   Reply With Quote

Old   August 7, 2012, 09:35
Default
  #4
New Member
 
Richard Parker
Join Date: Jul 2012
Posts: 10
Rep Power: 13
Richard Parker is on a distinguished road
F_C0_THREAD is obsolete. In recent versions of Fluent it has been replaced by THREAD_T0.

Regarding its usage, the example given by Ajay Rao is correct!
Richard Parker is offline   Reply With Quote

Reply


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 Off
Trackbacks are Off
Pingbacks are On
Refbacks are On



All times are GMT -4. The time now is 06:20.