Problem in simpleFoam airFoil2D forceCoeffs
Hey guys,
I'm new to OpenFOAM and I started out with trying to run the preexisting airFoil2D case using simpleFoam. I've also added the necessary changes to my controlDict to print out the force coefficients but I've not changed any of the control variables from their default values. The output after 341 iterations is as follows, SIMPLE solution converged in 341 iterations forceCoeffs output: Cd = 0.231573 Cl = 1.85513 Cm = 15.2647 Cl(f) = 16.1922 Cl(r) = 14.3371 End The coeffs have converged as per plots of forceCoeffs, but is of wrong value My controlDict (which I'm not able to upload for some reason) is, FoamFile { version 2.0; format ascii; class dictionary; location "system"; object controlDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // application simpleFoam; startFrom startTime; startTime 0; stopAt endTime; endTime 500; deltaT 1; writeControl timeStep; writeInterval 50; purgeWrite 0; writeFormat ascii; writePrecision 6; writeCompression off; timeFormat general; timePrecision 6; runTimeModifiable true; functions { forces { type forceCoeffs; functionObjectLibs ( "libforces.so" ); outputControl timeStep; outputInterval 1; patches ( wall ); pName p; UName U; rhoName rhoInf; // Indicates incompressible log true; rhoInf 1; // Redundant for incompressible liftDir (0 1 0); dragDir (1 0 0); // CofR (0 0 0); // Axle midpoint on ground pitchAxis (0 0 1); magUInf 26; lRef 1; // Wheelbase length Aref 1; // Estimated } } // ************************************************** *********************** // I'll be really grateful if someone could help me out. Thanks, venkat 
I did run this case and obtain almost the same results.
I also did it the forces instead of the forceCoefs. and the drag was still negative. It would be great if someone has some expertise on this matter. Best regards. 
First of all, I'm not sure whether 341 iterations are enough.
Secondly, you should average the forces among 500 iterations or something, not just look at a single iteration values. 
lref and Aref are unknown, so you should not try to get the right coefficients.
If the simulation (p, velocity) goes well than it is oke. 
Persisting problems
Thank you lovecraft22 and eren10 for your replies.
But my problems are apparently more deep rooted. :( Problem 1: The default case does not proceed any further than 341 iterations. The value of Cd = 0.231 and Cl = 1.855 are the values after convergence as well as averaging a given number of terms. The flow field looks to be right as well. The main purpose behind me trying to run the default case was to make sure the additional lines added to controlDict to get the force coefficients would also work in a different case. Problem 2: I set up a case using an Ogrid (using Pointwise) for flow over an airfoil with parameters the same as the tutorial case (26 m/s, 8 degree AoA) and ran it till 10,000 steps. I used the same controlDict as before to print out the force coefficients. Cd = 6e05 Cl = 0.00078 Is there an alternate way to get Cl and Cd or is there a glaring mistake in the way that I've set up the problem? If you could send me a case of '2D flow over airfoil' that works with OpenFOAM with good results, it would help me a lot. Please help!:( Thanks again, Venkat 
First check if the residuals are decreasing for the tutorial case.
Than check for your own simulation also the residuals. Apparantly, there is something wrong in the boundary conditions. 
What is your angle of attack? If it is not 0, you need to change liftDir and dragDir in controlDict file. Direction of liftDir must be perpendicular to airflow direction and dragDir must point in opposite direction than airflow.

Change in controlDict
Quote:
liftDir ( sin(alpha) cos(alpha) 0); dragDir ( cos(alpha) sin(alpha) 0); I tried running it with this, but the results didn't change much. Also, for the tutorial case, the residuals dropped to low levels. So the problem is only in the way that the force coefficient values get printed out Thanks, Venkat 
I am facing the same problem. Any news of how to get the right Cl Cd?

Suggestion
Hey Rafael,
A suggestion would be to plot the Cp along x/c and integrate. 
Quote:
For the airfoil2D example I get the following results: Cd = 0.0288648 Cl = 1.86931 
junkie71189 thanks for your reply. I think the force is given for the whole surface, so the Cd and Cl are already integrated, right?
tcarrigan, How are you getting these values? Could you please please your controlDict? Thank you! 
Quote:
tcarrigan, thank you for your correction. Can you shed some light on the lref and Aref used for the default case? 
lRef is a reference length and Aref is a reference area. These values are used to compute the coefficients of lift, drag, and pitching moment. Because this is a 2D case and the airfoil has a unit length, therefore, lRef=1 and Aref=1. If this were a 3D calculation, lRef would be something like the mean chord length and Aref could be wing area.
To get Cl there is no need to extract Cp and sum them up for a total lift coefficient. By setting up the appropriate reference values in the forceCoeffs (like below), OpenFOAM will compute Cl for you. I believe the AOA for the airfoil2D exampel is 8deg. Here are the reference values I used: forces { type forceCoeffs; functionObjectLibs ( "libforces.so" ); outputControl timeStep; outputInterval 1; patches ( wall ); pName p; UName U; rhoName rhoInf; log true; rhoInf 1.225; liftDir (0.139173 0.990268 0); dragDir (0.990268 0.139173 0); pitchAxis (0 0 1); magUInf 26; lRef 1; Aref 1; } 
Thank you tcarrigan.
It makes sense now. I am using the same code on the wigley tutorial. But the values are very wrong. Do you know if Aref should be the total area or only the wetted (water portion) area? Besr regards, Rafael 
For ship resistance prediction I believe you should use the wetted area, the area below the water line.

Hi everyone,
I am trying to calculate the drag, lift and pitchingmoment coefficients for a flow over a probe. The code structure below works fine when the flow is perpendicular to the probe. However, when I changed the angle of attack I got a rude difference for lift and pitchingmoment when compared with experimental data (the drag values is OK). I guess, this difference is related to the vectors (liftDir (0 1 0); dragDir (1 0 0); pitchAxis (0 0 1)). I this this vectors values is just valid for a parallel flow, isn't it ? Anybody knows how to change this vectors according to a certain angle of attack ? I just need to use : liftDir ( sin(alpha) cos(alpha) 0); dragDir ( cos(alpha) sin(alpha) 0); ?? Thank you very much. Rophys forces { type forces; enabled true; functionObjectLibs ( "libforces.so" ); outputControl outputTime; patches (probe); directForceDensity true; fDName fDMean; CofR (0.02 0 0); log on; } forceCoeffs { type forceCoeffs; functionObjectLibs ("libforces.so"); patches (probe); outputControl outputTime; fDName fDMean; rhoInf 1.73e5; CofR (0.02 0 0); liftDir (0 1 0); dragDir (1 0 0); pitchAxis (0 0 1); magUInf 1503.1; lRef 0.05; Aref 9.817e4; } 
drag and lift calculation
Hi everyone! Hi Rafael_Coelho.
I have know you have done more work about calculation of drag and lift coeffs. I am very interested in them. I would like to ask you some questions. How to define wall function? 
lRef and ARef for 3 element airfoils
Quote:
whould you please tell me, how does "lRef" and "ARef" define for a 3 elemet airfoil? 
Quote:
would you please explain more, that how should we get the "forcCoeffs" "cd & cl" from the force.dat file that is gained after finishing the analysis? thank you very much. 
All times are GMT 4. The time now is 00:20. 