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

Using DEFINE_SPECIFIC_HEAT, How to get the Cell-Pressure?

Register Blogs Members List Search Today's Posts Mark Forums Read

Reply
 
LinkBack Thread Tools Display Modes
Old   October 8, 2009, 04:25
Default Using DEFINE_SPECIFIC_HEAT, How to get the Cell-Pressure?
  #1
New Member
 
Join Date: Oct 2009
Posts: 1
Rep Power: 0
vast01 is on a distinguished road
at first my code:

#include "udf.h"

DEFINE_SPECIFIC_HEAT(specific_heat_N2, T, Tref, h, yi)
{
real cp;
real temp = T;
real A0 = 1.0787e3;
real A1 = 3.059e-1;
real A2 = 6.6177e-4;
real A3 = 2.6368e-7;
real A4 = 2.1333e-12;
real A5 = 1.886e-3;
real A6 = 273;
real Y0;
real pressure;
pressure = C_P(c,t);

Y0 = A0-A1*temp+A2*(pow(temp,2))-A3*(pow(temp,3))- A4*(pow(temp,4)) ;
cp = Y0 *(1+A5*((pressure/10e5)-1)*(pow((A6/temp),2.4))); //[J / kg K]
*h = cp;

return cp;
}

The problem is that the index variable c and the thread pointer t are not passed to the UDF, but they are needed in the cell-pressure marco.
What do I have to do?

Last edited by vast01; October 8, 2009 at 04:48.
vast01 is offline   Reply With Quote

Old   October 9, 2009, 04:13
Default
  #2
New Member
 
anonymous
Join Date: Oct 2009
Posts: 3
Rep Power: 7
FJAC is on a distinguished road
Hi

This DEFINE_SPECIFIC_HEAT macro is not containt cell pressure and any threads and domains. So if you want to get cell pressure, you have to define thread and domain like below, then you can get it.

---
DEFINE_SPECIFIC_HEAT(sample, T, Tref, h, yi)
{
Domain *domain = Get_Domain(1);
Thread *t;
cell_t c;
real pressure;

thread_loop_c(t, domain)
{
begin_c_loop(c, t)
{
pressure = C_P(c, t);
}end_c_loop(c, t)
}
}
---

NOTE:
The above udf duplicates cell loop since DEFINE_SPECIFIC_HEAT loops all cell loop first as itself, so it takes a long time.
FJAC is offline   Reply With Quote

Old   June 30, 2010, 22:58
Default
  #3
New Member
 
Herbert
Join Date: Jun 2010
Posts: 1
Rep Power: 0
shbfighter is on a distinguished road
I don't know why FLUENT don't let the solver to do the loop work as in the DEFINE_PROPERTY Macro, and this is very annoying.

About your solution, I don't know how you deal with
*h = Cp*(T-Tref);
return Cp;
these two lines (quoted from DEFINE_SPECIFIC_HEAT example in FLUENT UDF Mannual )in your loop structure:

thread_loop_c(t, domain)
{
begin_c_loop(c, t)
{
pressure = C_P(c, t);
}end_c_loop(c, t)
}

In my view, every cell must have a h and Cp value returned, but the Macro could have only one value returned.
Looking forward to your respond.
shbfighter is offline   Reply With Quote

Reply

Thread Tools
Display Modes

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


Similar Threads
Thread Thread Starter Forum Replies Last Post
Pressure averaging at the outlets. KM CFX 2 November 23, 2007 14:50
Neumann pressure BC and velocity field Antech Main CFD Forum 0 April 25, 2006 02:15
How to get the pressure in a cell liqiangnwpu OpenFOAM Running, Solving & CFD 1 April 10, 2005 09:32
Pressure Inlet yields wrong velocities Ben FLUENT 0 November 21, 2004 02:47
Pressure Reference Cell mimě CD-adapco 1 June 17, 2002 08:29


All times are GMT -4. The time now is 09:46.