CFD Online Discussion Forums

CFD Online Discussion Forums (
-   OpenFOAM (
-   -   how to calculate Cf inside a wall function (

aerothermal February 15, 2011 20:02

how to calculate Cf inside a wall function
Dear foamers,

Could you tell me how to calculate Cf (friction coefficient) inside a wall function like alphatWallFunctionFvPatchScalarField.C ?

I already have yPlus, rho and uStar=Cmu^(0.25)*k^(0.5).


    forAll(mutw, faceI)
        label faceCellI = patch().faceCells()[faceI];
        scalar pr = muw[faceI]/alphaw[faceI];
        scalar uStar = Cmu25*sqrt(k[faceCellI]);
        scalar KsPlus = uStar*Ks/(muw[faceI]/rhow[faceI]);

Since uStar is approx. uTau=sqrt(tau/rho) for equilibrium boundary layers, now I need a boundary-layer edge velocity Ue.

In order to be more accurate, can I calculate uTau with lines below?


    const fvPatchVectorField& U =
        patch().lookupPatchField<volVectorField, vector>("U");           
    scalarField magFaceGradU = mag(U.snGrad());

and inside loop of mutw in all faceI

        scalar utau =
            sqrt((mutw[faceI] + muw[faceI])*magFaceGradU[faceI]/rhow[faceI]);

I see two options but they are not easy for me yet since it is my first development with OF:

1) I know that I can recalculate the uPlus with yPlus to get sqrt(Cf/2), since uPlus=1/sqrt(Cf/2)

2) If I use the other definition of uPlus, the problem will be to know Ue in order to find Cf=tau/(0.5*Ue*Ue*rho).
uPlus= Up*Cmu^(0.25)*k^(0.5)/(tau/rho)
Even I adopt such calculation, how to get value of Up? Is it simply U[faceI]?

I would like to know whether or not there is an easier way. Are the methods above acceptable? Are they correct in programming?



aerothermal July 15, 2011 11:59

No clues on that?

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