CFD Online Discussion Forums

CFD Online Discussion Forums (
-   OpenFOAM Running, Solving & CFD (
-   -   How to model an internal fan (

hsieh July 8, 2008 08:27

Dear OpenFOAMers: I am tryi
Dear OpenFOAMers:

I am trying to model a heat transfer problem where inside the fluid domain (air), there is a fan with specified speed.

The internal fan has an inlet side (into the fan) and an outlet side (back into the fluid domain). Both the inlet side and the outlet side will have velocity specified. How should pressure and temperature BCs at the inlet and outlet be applied?

For temperature, I was thinking
at inlet: zeroGradient
at outlet: compute average temperature at the inlet, and, assign this to the outlet

Is this reasonable? How about pressure? zeroGradient for both?

By the way, this is a transient problem.

Can someone shed some light on this? Thanks!


mathieu July 8, 2008 09:12

Hi Pei, The pressure at a f
Hi Pei,

The pressure at a fan BC is related to the fan performance curve which specifies the pressure difference between both sides of the fan as a function of the flow (or the velocity...) that crosses the fan. For your problem, you should determine the pressure-velocity relation for your fan first. Then you have two choices :

1. You compute the pressure difference with the fan curve and you use it as BC.

2. You implement a BC that compute the velocity depending on the pressure difference (I don't think that a fan BC already exists in OpenFOAM... correct me if I'm wrong).

You should use the first option only if you know that the fan produces a given velocity with a given pressure difference in a given domain (that means that you know the fan behavior in a particular geometry from experimental results for example). You can also use this option if you are sure that the pressure is not an important issue of the problem.

If you really want to know the effect of a specific fan in a specific geometry, then use the option 2.

Hope this helps.


PS : I assume you work with an incompressible flow.

PS2 : For the temperature, I would guess the same as you.

hsieh July 9, 2008 08:24

Thanks Mathieu! I have thin
Thanks Mathieu!

I have think about this more as I am still not quite clear how to implement this in the OF code.

Yes, I am considering incompressible flow.

You refer pressure difference, is it the pressure difference between the fan inlet and fan outlet or?


mathieu July 9, 2008 12:02

Hi ! Since I am not an exp
Hi !

Since I am not an expert with C++ and the OF code, I can't help you very much with the programming aspects. However, you can take a look in your "~/OpenFOAM/OpenFOAM-1.4.1/src/finiteVolume/fields/fvPatchFields/derived" folder for some ideas.

And yes, the pressure difference means the pressure difference between the fan inlet and fan outlet.


markc August 24, 2008 08:02

Hello All, I am working on
Hello All,

I am working on something similar. I am trying to model a ships propeller using the actuator disc theory in order to investigate interaction with nozzle and ships hull.
I modelled the propeller by two discs which are very close to each other.
The picture shows a cut of my model:

The vertical lines represent the propeller disc (left: suction, right: pressure side.
The wing profile represents a cut of a nozzle in which the propeller is positioned.

We more or less know the water velocity through the disc so I apply this velocity. Doing so I am able to run icoFoam. Solutions are however not very accurate yet on summed pressure results. This is due to a lot of reasons (mesh, turbulence, etc).

However I am also eager to run it by applying pressure on the discs (on each disc half the calculated pressure increase, suction minus, pressure side positive) In my undersanding this is physically meaningful. However so far I did not succeed. Velocities continue to grow until solution explodes. I am still trying to find out what I am doing wrong here.
type fixedValue;
value uniform 13.4;

type fixedValue;
value uniform -13.4;
type pressureInletVelocity;
value uniform (0 0 0);

type zeroGradient;
To my understanding pressureInletVelocity is specially designed for pressure Inlet BC's. The value (0 0 0) are not intended to be physical values but are only used for calculations. Please anyone correct me if I am wrong.

-Modeling an internal fan (or propeller) can be done by using actuator disc theory and applying velocity BC's
-applying p BC's did not work yet in my case. I am very eager for reactions on what I did wrong here.



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