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

Airfoil lift and drag using k-kl-omega turbulence model

Register Blogs Community New Posts Updated Threads Search

Like Tree1Likes
  • 1 Post By hylleman

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   August 11, 2014, 04:15
Smile Airfoil lift and drag using k-kl-omega turbulence model
  #1
New Member
 
Karl Hylen
Join Date: Dec 2013
Posts: 3
Rep Power: 13
hylleman is on a distinguished road
Hi FOAM:ers,

I'm trying to get nice lift/drag prediction on 2D airfoils at low AoA:s (0-5 degrees) and a Re of 10^6, using the simpleFoam solver. I've used some low-Re turbulence models, especially SST k-omega, and some different meshes, but am consequently getting to high drag, an overprediction of 100-150%. From the threads here on this subject I understand that this is normal for fully turbulent modells, and that a transitional model may be needed.

Thus I have now turned to the kklomega model, which I believe is the only transitional model implemented in OpenFOAM. The problem is that I can't even get this model to run. In the first iteration, the solver ends with a floating point exception. I would very much appriciate help on making this case run.

These are my BC:s,

Kt:
inlet fixedValue 3.4e-4
outlet inletOutlet inletValue 3.4e-4
airfoil fixedValue 1e-11

Kl:
inlet fixedValue 1e-11
outlet inletOutlet inletValue 1e-11
airfoil fixedValue 1e-11

omega:
inlet fixedValue 0.25
outlet inletOutlet 0.25
airfoil omegaWallFunction

nut:
inlet/outlet calculated
airfoil nutLowReWallFunction

p:
inlet zeroGradient
outlet fixedValue 0
airfoil zeroGradient

U:
inlet fixedValue (15.11 0 0)
outlet inletOutlet inletValue (15.11 0 0)
airfoil fixedValue (0 0 0)

These are my numerical schemes,

divSchemes
{
default none;
div(phi,U) bounded Gauss limitedLinearV 1;
div(phi,kt) bounded Gauss limitedLinear 1;
div(phi,kl) bounded Gauss limitedLinear 1;
div(phi,omega) bounded Gauss limitedLinear 1;
div((nuEff*dev(T(grad(U))))) Gauss linear;
}


I've been using this wonderful mesher by Mads here on the forum,
http://hvirvel.dk/airfoilmesher/
Should probably also mention that I'm using OpenFOAM 2.3.0. I would very much appriciate help on making this case run.

Regards,
Karl

EDIT: After reading the article a bit closer, I changed omega to zeroGradient at the airfoil. Not the problem though.

EDIT2: The error message might be helpful. It suggests a division by zero in the kklomega::correct function, if I understand it correctly. I cannot see what might be zero at the start though...

Code:
smoothSolver:  Solving for Ux, Initial residual = 0.020463, Final residual = 0.00138025, No Iterations 1
smoothSolver:  Solving for Uy, Initial residual = 0.0726345, Final residual = 0.00486526, No Iterations 1
GAMG:  Solving for p, Initial residual = 1, Final residual = 0.00940194, No Iterations 2
time step continuity errors : sum local = 0.00295125, global = -1.54808e-06, cumulative = -1.54808e-06
#0  Foam::error::printStack(Foam::Ostream&) at ??:?
#1  Foam::sigFpe::sigHandler(int) at ??:?
#2   in "/usr/lib/libc.so.6"
#3  Foam::divide(Foam::Field<double>&, Foam::UList<double> const&, Foam::UList<double> const&) at ??:?
#4  void Foam::divide<Foam::fvPatchField, Foam::volMesh>(Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh>&, Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> const&) at ??:?
#5  Foam::tmp<Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> > Foam::operator/<Foam::fvPatchField, Foam::volMesh>(Foam::tmp<Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> > const&, Foam::tmp<Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> > const&) at ??:?
#6  Foam::incompressible::RASModels::kkLOmega::correct() at ??:?
#7  
 in "/opt/OpenFOAM/OpenFOAM-2.3.0/platforms/linux64GccDPOpt/bin/simpleFoam"
#8  __libc_start_main in "/usr/lib/libc.so.6"
#9  
 in "/opt/OpenFOAM/OpenFOAM-2.3.0/platforms/linux64GccDPOpt/bin/simpleFoam"

Last edited by hylleman; August 12, 2014 at 05:18.
hylleman is offline   Reply With Quote

Old   August 15, 2014, 03:13
Default
  #2
New Member
 
Karl Hylen
Join Date: Dec 2013
Posts: 3
Rep Power: 13
hylleman is on a distinguished road
I managed to get this working, after a lot of fiddeling. Unfortunatly, I can't say exactly what the problem was since I changed a lot (schemes, bcs, relaxation factors...). Now I get really nice force prediction on the airfoil, so the fiddeling was worth it
tareqkh likes this.
hylleman is offline   Reply With Quote

Old   August 20, 2014, 06:32
Default
  #3
New Member
 
Michael D.
Join Date: Jun 2014
Posts: 14
Rep Power: 12
MichaelD is on a distinguished road
Hi Karl,

I'm also interested in trying the kklomega model, and I've run into the same problem. Could you post the setup you used to get it working?

Thanks in advance!
MichaelD is offline   Reply With Quote

Old   November 29, 2014, 23:20
Default
  #4
Senior Member
 
tareqkh's Avatar
 
CFD
Join Date: Nov 2010
Location: United States
Posts: 243
Rep Power: 17
tareqkh is on a distinguished road
Quote:
Originally Posted by hylleman View Post
I managed to get this working, after a lot of fiddeling. Unfortunatly, I can't say exactly what the problem was since I changed a lot (schemes, bcs, relaxation factors...). Now I get really nice force prediction on the airfoil, so the fiddeling was worth it
Hey,

Could you please provide us more explications since I am working on the same problem?
tareqkh is offline   Reply With Quote

Old   February 5, 2015, 08:52
Default
  #5
New Member
 
Anonymous
Join Date: Dec 2014
Posts: 2
Rep Power: 0
papercut is on a distinguished road
I get the same instant error

Code:
smoothSolver:  Solving for Ux, Initial residual = 0.020463, Final residual = 0.00138025, No Iterations 1
smoothSolver:  Solving for Uy, Initial residual = 0.0726345, Final residual = 0.00486526, No Iterations 1
GAMG:  Solving for p, Initial residual = 1, Final residual = 0.00940194, No Iterations 2
time step continuity errors : sum local = 0.00295125, global = -1.54808e-06, cumulative = -1.54808e-06
#0  Foam::error::printStack(Foam::Ostream&) at ??:?
#1  Foam::sigFpe::sigHandler(int) at ??:?
#2   in "/usr/lib/libc.so.6"
#3  Foam::divide(Foam::Field<double>&, Foam::UList<double> const&, Foam::UList<double> const&) at ??:?
#4  void Foam::divide<Foam::fvPatchField, Foam::volMesh>(Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh>&, Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> const&) at ??:?
#5  Foam::tmp<Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> > Foam::operator/<Foam::fvPatchField, Foam::volMesh>(Foam::tmp<Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> > const&, Foam::tmp<Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> > const&) at ??:?
#6  Foam::incompressible::RASModels::kkLOmega::correct() at ??:?
#7  
 in "/opt/OpenFOAM/OpenFOAM-2.3.0/platforms/linux64GccDPOpt/bin/simpleFoam"
#8  __libc_start_main in "/usr/lib/libc.so.6"
#9  
 in "/opt/OpenFOAM/OpenFOAM-2.3.0/platforms/linux64GccDPOpt/bin/simpleFoam"
Anyone knows how to deal with this?
papercut is offline   Reply With Quote

Old   February 5, 2015, 12:01
Default
  #6
Senior Member
 
Alexey Matveichev
Join Date: Aug 2011
Location: Nancy, France
Posts: 1,938
Rep Power: 39
alexeym has a spectacular aura aboutalexeym has a spectacular aura about
Send a message via Skype™ to alexeym
Hi,

If you take a look at correct method of kkLOmega, programming there always is rather defensive, like this:

Code:
const volScalarField lambdaT(sqrt(kT)/(omega_ + omegaMin_));
to avoid division be zero. Except several places, here's one of them:

Code:
    const volScalarField nutl
    (
        min
        (
            C11_*fTaul(lambdaEff, ktL)*omega*sqr(lambdaEff)
          * sqrt(ktL)*lambdaEff/nu()
          + C12_*BetaTS(ReOmega)*ReOmega*sqr(y_)*omega
        ,
            0.5*(kl_ + ktL)/sqrt(S2)
        )
    );
where S2 is

Code:
const volScalarField S2(2.0*magSqr(symm(gradU)));
Why your S2 goes to zero somewhere? I don't know, can you show your initial and boundary conditions?

Update. Though if you have got diverging solution and something that should be positive has become negative, then all these omega_ + omegaMin_ can become zero.
alexeym is offline   Reply With Quote

Old   June 17, 2016, 16:10
Default New model
  #7
Member
 
Alberto
Join Date: Sep 2013
Posts: 37
Rep Power: 13
malv83 is on a distinguished road
After 8 years, there is a new version (or new model) of the k-kl-omega model.

There are a few problems with the k-kl-omega model in the farfield. One of them is the growth of Laminar Kinetic energy when separation occurs. Lopez and Walters have a paper (have not been published yet) correcting this issue:

Maurin Lopez. D. K. Walters. “A recommended correction to the k-kl-omega transition sensitive eddy-viscosity model”. Journal of Fluid Engineering.

This correction has to be made to the 2008 k-kl-omega model from now on.

Now, Lopez and Walters also developed a new transitional model (k-omega-v2) as an alternative to the k-kl-omega one. This new model has more capabilities (it is more reliable) than the k-kl-omega model, especially in the farfield computations. Fortunately the paper for this new model is already publish.

Maurin Lopez. D. K. Walters. “Prediction of transitional and fully turbulent free shear flows using an alternative to the laminar kinetic energy approach”. Journal of Turbulence, Vol 17, Iss. 3, 2016.

If you see the papers, you will immediately see how the k-kl-omega model is not good for free shear flows, and how the new model corrects all those issues. From now on, k-kl-omega users have to start using the new k-omega-v2 model.
malv83 is offline   Reply With Quote

Reply

Tags
airfoil, drag, kklomega, lift, simplefoam


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
wrong SU2 calculation for lift and drag coefficient for NAC4421 mechy SU2 7 January 9, 2017 06:18
Airfoil lift and drag understimated Kio OpenFOAM Pre-Processing 15 October 1, 2016 14:48
S-A Turbulence Model and drag prediction Alan FLUENT 2 January 11, 2016 09:33
Problem with restart solution in shape_optimization.py robyTKD SU2 Shape Design 21 May 29, 2013 10:26
Water subcooled boiling Attesz CFX 7 January 5, 2013 04:32


All times are GMT -4. The time now is 15:48.