CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   Fluent UDF and Scheme Programming (https://www.cfd-online.com/Forums/fluent-udf/)
-   -   Calculate the entering flow rate in each cell (https://www.cfd-online.com/Forums/fluent-udf/97596-calculate-entering-flow-rate-each-cell.html)

bephi February 21, 2012 04:21

Calculate the entering flow rate in each cell
 
Hi at all!

I am trying to find a way how to calculate the flow rate that enters or leaves a cell. In sum it should be zero but I like to find out a specific value for each cell of the domain.

Does anyone has an idea how to approach this? Thank you very much in advance.

gearboy February 21, 2012 20:11

Quote:

Originally Posted by bephi (Post 345472)
Hi at all!

I am trying to find a way how to calculate the flow rate that enters or leaves a cell. In sum it should be zero but I like to find out a specific value for each cell of the domain.

Does anyone has an idea how to approach this? Thank you very much in advance.

loop over the faces of a cell, and calculate the sum of flux through these faces

javiercran May 30, 2012 11:11

problem trying to get the mass flow entering a cell
 
Hello,
I have tried to calculate the mass flow entering inside a cell (for a DEFINE_SOURCE macro) with a loop over the faces of the cell but I have problems of "non-integer subscript expression: unsigned char".
This is my code

#include "udf.h"
#include <mem.h>
DEFINE_SOURCE(theta_momentum,c,t,dS,eqn)
{
//near peak operating point
real Ft; //Ft source term
real T01; //Inlet Total temperature
real T02; //Outlet Total temperature
real cp; //variable which will store the specific heat of air
real x[ND_ND]; //array for storing the centroid position
real pi=3.1416;
real omega=16043*2*pi/60;
real r;
face_t f;
real massflow=0;
real volume;
Thread *f_thread;
int n;

c_face_loop(c,t,n)//line 21 the one which gives problems
{f=C_FACE(c,t,n);
f_thread = C_FACE_THREAD(c,t,n);
if(F_FLUX(f,f_thread)>0)// only calculate the massflow entering
{massflow=massflow+F_FLUX(f,f_thread);
}
}

massflow=massflow*2*pi;//axisymmetric
volume=C_VOLUME(c,t);
T01=288.15;
cp=1006;
C_CENTROID(x,c,t);//we store in x the centroid position of each cell
r=x[1];// the radial position is the y-coordinate of the cell centroid
r = x[1];
T02=1.164*T01;
Ft=massflow*cp*(T02-T01)/(volume*omega*r);
dS[eqn]=0;
return Ft;
}

I need your help because I cant see the mistake I am doing.
Regards


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