CFD Online Discussion Forums

CFD Online Discussion Forums (
-   CFX (
-   -   general momentum source/hydraulic pressure jump/positive displacement machine (

ckleanth June 28, 2009 21:30

general momentum source/hydraulic pressure jump/positive displacement machine
I need some help in setting up a momentum source. I want to model an internal flow system that contains throttles and a positive
displacement machine. I want to see the effects of the positive displacement machine in the system, however I'm not interested
on modeling the actual machine in 3D but a reduced mathematical model. I have the machine performance curves (speed, pressure
ratio, volume flowrate, icentropic efficiency etc. Therefore I have created a general momentum source with a simple array that
relates dp with flowrate for testing. As for BC inlet is relative pressure 0 [Pa] and outlet's velocity 5 [m/s] (will be massflow
later to match the real problem setup but should be ok for now)

Argument Units = [Pa]
Option = Interpolation
Profile Function = Off
Result Units = [m^3/s]
Data Pairs = 0,0.025,500,0.05,1000,0.075
Extend Max = On
Extend Min = On
Option = One Dimensional

#density = 1.284 [kg/m^3]
#duct area = 0.05 [m^2]

Pin = massFlowAve(p)@F91.89 2
Pout = massFlowAve(p)@F96.89 2
deltaP = abs(Pout-Pin)
velocity = volflow/area@F96.89 2
volflow = DpQ(VardeltaP)
#the variable VardeltaP is the algebraic expression deltaP

scoef5 = -10e5 [kg m^-3 s^-1]
svalue5x = scoef5 * (Velocity u - 0[m/s])
svalue5y = scoef5 * (Velocity v - 1[m/s])
svalue5z = scoef5 * (Velocity w - 0[m/s])

When I use the above basic source definition I can get the thing to converge with the specified velocity in the defined subdomain
but when I use the equations below there are many issues:

scoef5b = Density * volflow / volume()@B89 2
svalue5bx = scoef5b * (Velocity u - 0[m/s])
svalue5by = scoef5b * (Velocity v - velocity)
svalue5bz = scoef5b * (Velocity w - 0[m/s])

a) for example cfx-post wont let me evaluate the velocity and volflow scalars so I dont know if my coefficient is calculated
b) the problem converges but velocity has the value from the outlet boundary and pressure's are..... well wrong
IN = -1.655e+01 [Pa]
OUT= -1.547e+02 [Pa]
dp across subdomain = -1.381e+02 [Pa]
c) am I doing something wrong with my problem approach? I would appreciate any comments especially if the source coefficient is
properly defined and if the expression volflow = DpQ(VardeltaP) is correct.

many thanks

ghorrocks June 28, 2009 22:55


I would not use "velocity" as a CEL variable. It might get corrupted with the internal velocity variable. Use a different variable name.

Glenn Horrocks

ckleanth June 29, 2009 05:09

1 Attachment(s)

Originally Posted by ghorrocks (Post 220748)

I would not use "velocity" as a CEL variable. It might get corrupted with the internal velocity variable. Use a different variable name.

Glenn Horrocks

didnt make any difference mate - the variable is case sensitive anyway so its should be ok - however I changed it anyway to test it.

However in cfx-post I do get the follwing error "The following unrecognised name was referenced: DpQ." thats the only bit that I'm unsure, the definition of the volflow expression as the function calculates at the pressure diferential at the inlet and outlet of the subdomain and then it should look up the pressure diferential from the array and output the volume flowrate.

I attach the full ccl if anyone has the time to check and comment

ghorrocks June 29, 2009 18:30


Some issues I can see:

You refer to "Density" in scoef5b. This is not defined.
You define velocityx = volflow/area@F96.89 2. It should be area()@F96.89 2
You have no materials defined. Did you snip that out of the CCL? You need to have some materials defined.

Glenn Horrocks

ckleanth June 29, 2009 18:35

materials is the stanadrd air @ 25 [C] mate (was a bit lazy :) ) I just copy paste the expression ccl code and forgot materials but use the standard ones for the example

Density is the variable name for density of the fluid m8 :confused: EDIT: yes stupid of me density but where its located thanks I got it now

just checking the area()@ :o

ckleanth June 29, 2009 18:57

fixed the mistakes and cfx finds a solution but I still get still wrong results which means there is still something else wrong as I still get the "The following unrecognised name was referenced: DpQ." in cfx post

The 1D array is there but maybe there is another way to write the volflow = DpQ(VardeltaP) expression :confused:

ckleanth June 30, 2009 17:49

still bugging me this flippin expression :(

ghorrocks June 30, 2009 18:57


Sorry, did not read your initial post fully - I don't think CEL interpolation expressions are sent to CFD-Post. The best way to check where on your curve your function is lying is to set up monitor points for the input and output of the expression then you can export them from Solver Manager and check them externally.

Glenn Horrocks

ckleanth June 30, 2009 19:03

thanks mate will try this tomo..

if I remember correcly fluent had this setup as ready made BC ...
cant be that hard of a thing to do really... cant see any other way to model loads of fans/pumps inside a system using the machine characteristics...

philflow August 24, 2012 16:29

Hello Sir,

I'm going through the same problem at the moment. Just curious to see if your model worked in the end.

Best regards,


P.S: CFX is a pain with fans !!

ghorrocks August 25, 2012 06:23

Several post on this forum talk about this technique to model fans. It is quite commonly done and works fine when set up correctly.

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