CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > OpenFOAM > OpenFOAM Running, Solving & CFD

Problem in simpleFoam airFoil2D forceCoeffs

Register Blogs Members List Search Today's Posts Mark Forums Read

Like Tree7Likes

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   June 4, 2012, 21:33
Default Problem in simpleFoam airFoil2D forceCoeffs
  #1
New Member
 
venkat
Join Date: Apr 2012
Posts: 10
Rep Power: 13
junkie71189 is on a distinguished road
Hey guys,

I'm new to OpenFOAM and I started out with trying to run the pre-existing 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
junkie71189 is offline   Reply With Quote

Old   June 6, 2012, 18:04
Default
  #2
Member
 
Elh. A2. BAH
Join Date: Jan 2012
Posts: 64
Rep Power: 14
ebah6 is on a distinguished road
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.
ebah6 is offline   Reply With Quote

Old   June 6, 2012, 20:13
Default
  #3
Senior Member
 
lore
Join Date: Mar 2010
Location: Italy
Posts: 460
Rep Power: 18
lovecraft22 is on a distinguished road
Send a message via Skype™ to lovecraft22
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.
lovecraft22 is offline   Reply With Quote

Old   June 7, 2012, 06:08
Default
  #4
Member
 
The True
Join Date: Dec 2010
Posts: 80
Rep Power: 15
Eren10 is on a distinguished road
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.
Eren10 is offline   Reply With Quote

Old   June 11, 2012, 19:47
Default Persisting problems
  #5
New Member
 
venkat
Join Date: Apr 2012
Posts: 10
Rep Power: 13
junkie71189 is on a distinguished road
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 O-grid (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 = -6e-05
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
junkie71189 is offline   Reply With Quote

Old   June 12, 2012, 07:53
Default
  #6
Member
 
The True
Join Date: Dec 2010
Posts: 80
Rep Power: 15
Eren10 is on a distinguished road
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.
Eren10 is offline   Reply With Quote

Old   June 12, 2012, 08:46
Default
  #7
New Member
 
GregorS's Avatar
 
Gregor Seljak
Join Date: Oct 2010
Posts: 21
Rep Power: 15
GregorS is on a distinguished road
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.
GregorS is offline   Reply With Quote

Old   June 13, 2012, 12:59
Default Change in controlDict
  #8
New Member
 
venkat
Join Date: Apr 2012
Posts: 10
Rep Power: 13
junkie71189 is on a distinguished road
Quote:
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.
I modified the controlDict file of the tutorial case to fit the general expression, for flow from left to right (to leading edge) as,

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
junkie71189 is offline   Reply With Quote

Old   July 8, 2012, 17:08
Default
  #9
New Member
 
Rafael Coelho
Join Date: Jun 2012
Location: Portsmouth
Posts: 23
Rep Power: 13
Rafael_Coelho is on a distinguished road
I am facing the same problem. Any news of how to get the right Cl Cd?
Rafael_Coelho is offline   Reply With Quote

Old   July 12, 2012, 02:22
Default Suggestion
  #10
New Member
 
venkat
Join Date: Apr 2012
Posts: 10
Rep Power: 13
junkie71189 is on a distinguished road
Hey Rafael,

A suggestion would be to plot the Cp along x/c and integrate.
junkie71189 is offline   Reply With Quote

Old   July 12, 2012, 10:50
Default
  #11
Senior Member
 
Travis Carrigan
Join Date: Jul 2010
Location: Arlington, TX
Posts: 161
Rep Power: 15
tcarrigan is on a distinguished road
Quote:
Originally Posted by junkie71189 View Post
I modified the controlDict file of the tutorial case to fit the general expression, for flow from left to right (to leading edge) as,

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
You have the x-component of the lift direction backwards, should be -sin(alpha). And the y-component of drag should be sin(alpha).

For the airfoil2D example I get the following results:
Cd = 0.0288648
Cl = 1.86931
tareqkh, thiagopl and aerosjc like this.
tcarrigan is offline   Reply With Quote

Old   July 12, 2012, 16:42
Default
  #12
New Member
 
Rafael Coelho
Join Date: Jun 2012
Location: Portsmouth
Posts: 23
Rep Power: 13
Rafael_Coelho is on a distinguished road
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!
Rafael_Coelho is offline   Reply With Quote

Old   July 12, 2012, 16:58
Default
  #13
New Member
 
venkat
Join Date: Apr 2012
Posts: 10
Rep Power: 13
junkie71189 is on a distinguished road
Quote:
Originally Posted by Rafael_Coelho View Post
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!
Yes. But what I tried was for getting Cl, extracting the Cp values along the upper and lower surface of the airfoil as a file. Then, add all (Cp_upper - Cp_lower) times (dx / chord length) from 0 to 1. The sum gives the lift. I'm having problems getting the drag coefficient though.


tcarrigan, thank you for your correction. Can you shed some light on the lref and Aref used for the default case?
junkie71189 is offline   Reply With Quote

Old   July 12, 2012, 17:33
Default
  #14
Senior Member
 
Travis Carrigan
Join Date: Jul 2010
Location: Arlington, TX
Posts: 161
Rep Power: 15
tcarrigan is on a distinguished road
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;
}
brucecumt and WtsRoy like this.
tcarrigan is offline   Reply With Quote

Old   July 15, 2012, 08:19
Default
  #15
New Member
 
Rafael Coelho
Join Date: Jun 2012
Location: Portsmouth
Posts: 23
Rep Power: 13
Rafael_Coelho is on a distinguished road
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
Rafael_Coelho is offline   Reply With Quote

Old   July 15, 2012, 17:21
Default
  #16
Senior Member
 
Travis Carrigan
Join Date: Jul 2010
Location: Arlington, TX
Posts: 161
Rep Power: 15
tcarrigan is on a distinguished road
For ship resistance prediction I believe you should use the wetted area, the area below the water line.
tcarrigan is offline   Reply With Quote

Old   October 28, 2012, 20:17
Default
  #17
Member
 
R. P.
Join Date: Jul 2010
Posts: 73
Rep Power: 15
Rophys is on a distinguished road
Hi everyone,

I am trying to calculate the drag, lift and pitching-moment 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 pitching-moment 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.73e-5;
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.817e-4;
}
Rophys is offline   Reply With Quote

Old   April 27, 2013, 03:34
Default drag and lift calculation
  #18
New Member
 
dss
Join Date: Jul 2009
Posts: 25
Rep Power: 16
flyingd is on a distinguished road
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?

Last edited by flyingd; May 2, 2013 at 17:28.
flyingd is offline   Reply With Quote

Old   May 7, 2013, 11:03
Default lRef and ARef for 3 element airfoils
  #19
s.m
Senior Member
 
saeideh mohamadi
Join Date: Aug 2012
Posts: 229
Rep Power: 14
s.m is on a distinguished road
Quote:
Originally Posted by tcarrigan View Post
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;
}
hi Travis;
whould you please tell me, how does "lRef" and "ARef" define for a 3 elemet airfoil?
s.m is offline   Reply With Quote

Old   May 31, 2013, 05:05
Default
  #20
s.m
Senior Member
 
saeideh mohamadi
Join Date: Aug 2012
Posts: 229
Rep Power: 14
s.m is on a distinguished road
Quote:
Originally Posted by lovecraft22 View Post
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.
hi lore,
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.
s.m is offline   Reply With Quote

Reply

Tags
airfoil2d, forcecoefficient, simplefoam

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Trying to run a benchmark case with simpleFoam spsb OpenFOAM 3 February 24, 2012 10:07
SimpleFOAM + SST-Model + problem with convergence A.Devesa OpenFOAM Running, Solving & CFD 0 November 9, 2010 05:43
Can I solve this problem by Fluent? Kai_kc FLUENT 1 October 27, 2010 06:29
natural convection problem for a CHT problem Se-Hee CFX 2 June 10, 2007 07:29
Adiabatic and Rotating wall (Convection problem) ParodDav CFX 5 April 29, 2007 20:13


All times are GMT -4. The time now is 16:53.