CFD Online Discussion Forums

CFD Online Discussion Forums (
-   OpenFOAM Running, Solving & CFD (
-   -   Simple axisymetric model for a fanturbine (

cauneau April 6, 2005 10:07

The simplest axisymetric model
The simplest axisymetric model for a fan/turbine consists in following the Froude theory: declare inside the fluid a couple of very close patches - e.g. forming a thin disk - and to set a fixed value for delta-P and a constant velocity+rho between up/downstream faces.

Doing so in openFOAM I encounter a deviation from the theory, i.e. the mass balance is slightly but progressively violated, resulting in mass injected by the disk inside the control volume. I think it comes from the fact I do not see how to actually set the up/downstream velocities to be identical.

Is there a way to merge the patches and then to set a mass conservation condition between the upstream patch and the downstream patch ?

Pr. Francois Cauneau
Ecole des Mines de Paris

henry April 6, 2005 10:36

Is your mesh one cell thick?
Is your mesh one cell thick? If so it sounds like you are doing something similar to what boundaryFoam was designed for. If not it sounds like yo need cyclic conditions from front-to-back and drive the flow with a pressure-gradient body-force as in channelOodles.

cauneau April 13, 2005 11:44

Thanks Henry, indeed the ca
Thanks Henry,

indeed the case is 2D, but may extend it for 3D later. SO I was planning to test both of yoyr suggestions... but, shame on me I switched to new version 1.1 !!

bad Idea, I cannot further enter any data under FoamX. Trying any of 1.1 1,1 1.1d 1,1d to simply enter 1.1 gives "not a valid number".

So, before testing your suggestion, I scan the discussion list to seek for this very... basic trick :-)

Francois Cauneau

olivier November 26, 2005 22:57

I will resolve the momentum eq
I will resolve the momentum equation for 2D axisymetric.
the equation is:
I implemented it like:

phi = fvc::interpolate(rho*U) & mesh.Sf();
tmp<fvvectormatrix> UEqn
fvm::div(phi, U)

- fvm::laplacian(mu,U)- fvc::div(mu*symm(fvc::grad(U)())) + fvc::div(mu*skew(fvc::grad(U)()))

solve(UEqn() == -fvc::grad(p));
When I run this equation with the case of pitzDaily I have the good result. but with the case (2D axisymetric) like nozzleFlow2D I have the bad result.
1. what's the probleme in my implementation ?
2. is there a method to rewrite this equation in cylindrical co-ordinates.
I wish to have a fast answer.
thanks a lot.

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