CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > OpenFOAM

How to find separation point over airfoil

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

Reply
 
LinkBack Thread Tools Display Modes
Old   April 10, 2013, 10:36
Default How to find separation point over airfoil
  #1
New Member
 
Leo
Join Date: Jan 2013
Location: Duisburg,Germany
Posts: 3
Rep Power: 4
oscarli is on a distinguished road
Dear all,

I'm relatively new to OpenFOAM and as a part of my MSc-thesis I am trying to simulate flow field over a naca arifoil in OpenFOAM.

Now I'm having trouble to find where is the flow separation point in my simulation. I'm working with a 2D geometry.
I have got some useful information here and done some work: I modified the simpleFoam solver in OpenFOAM to get the velocity gradient or pressure gradient, but I can not figure out where is my mistake to get the good result.

This is what I have modified from simpleFoam solver(in red color) and I have compiled the modified solver after the change.
createFields.H
Quote:
Info<< "Reading field p\n" << endl;
volScalarField p
(
IOobject
(
"p",
runTime.timeName(),
mesh,
IOobject::MUST_READ,
IOobject::AUTO_WRITE
),
mesh
);

Info<< "Reading field U\n" << endl;
volVectorField U
(
IOobject
(
"U",
runTime.timeName(),
mesh,
IOobject::MUST_READ,
IOobject::AUTO_WRITE
),
mesh
);

Info<< "Reading field GradU\n" << endl;
volTensorField GradU
(
IOobject
(
"GradU",
runTime.timeName(),
mesh,
IOobject::NO_READ,
IOobject::AUTO_WRITE
),
fvc::grad(U) //mesh
);

// Info<< "Reading field Gradp\n" << endl;
// volVectorField Gradp
// (
// IOobject
// (
// "Gradp",
// runTime.timeName(),
// mesh,
// IOobject::NO_READ,
// IOobject::AUTO_WRITE
// ),
// fvc::grad(p) //mesh
// );

#include "createPhi.H"


label pRefCell = 0;
scalar pRefValue = 0.0;
setRefCell(p, mesh.solutionDict().subDict("SIMPLE"), pRefCell, pRefValue);

singlePhaseTransportModel laminarTransport(U, phi);

autoPtr<incompressible::RASModel> turbulence
(
incompressible::RASModel::New(U, phi, laminarTransport)
);

IObasicSourceList sources(mesh);
Here is the detail: naca0015 airfoil, simpleFoam solver , kOmegaSST model
0 folder:

U
Quote:
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.1.1 |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volVectorField;
object U;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

dimensions [0 1 -1 0 0 0 0];

internalField uniform (0.9848 0.1736 0);

boundaryField
{
inlet
{
type fixedValue;
value $internalField;
}

outlet
{
type inletOutlet;
inletValue uniform (0 0 0);
value $internalField;
}

"airfoil.*"
{
type fixedValue;
value uniform (0 0 0);
}

defaultFaces
{
type empty;
}
}

//
p
Quote:
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
object p;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

dimensions [0 2 -2 0 0 0 0];

internalField uniform 0;

boundaryField
{
inlet
{
type zeroGradient;
}

outlet
{
type fixedValue;
value uniform 0;
}

"airfoil.*"
{
type zeroGradient;
}

defaultFaces
{
type empty;
}
}

// ************************************************** *********************** //
omega
Quote:
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
location "0";
object omega;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

dimensions [0 0 -1 0 0 0 0];

internalField uniform 9.8;

boundaryField
{
inlet
{
type fixedValue;
value uniform 9.8;
}
outlet
{
type inletOutlet;
inletValue uniform 9.8;
value uniform 9.8;
}
airfoil
{
type omegaWallFunction;
Cmu 0.09;
kappa 0.41;
E 9.8;
beta1 0.075;
value uniform 9.8;
}
defaultFaces
{
type empty;
}
}


// ************************************************** *********************** //
nut
Quote:
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
location "0";
object nut;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

dimensions [0 2 -1 0 0 0 0];

internalField uniform 0;

boundaryField
{
inlet
{
type calculated;
value uniform 0;
}
outlet
{
type calculated;
value uniform 0;
}
airfoil
{
type nutkWallFunction;
Cmu 0.09;
kappa 0.41;
E 9.8;
value uniform 0;
}
defaultFaces
{
type empty;
}
}


// ************************************************** *********************** //
k
Quote:
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
location "0";
object k;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

dimensions [0 2 -2 0 0 0 0];

internalField uniform 0.00375;

boundaryField
{
inlet
{
type fixedValue;
value uniform 0.00375;
}
outlet
{
type inletOutlet;
inletValue uniform 0.00375;
value uniform 0.00375;
}
airfoil
{
type kqRWallFunction;
value uniform 0.00375;
}
defaultFaces
{
type empty;
}
}
// ************************************************** *********************** //
blockMeshDict
Quote:
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.1.1 |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object blockMeshDict;
}

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
convertToMeters 1.00;


vertices
(
( -4.700000 0.0000 0.00 ) //Pt 0
( -2.342151 -4.2449 0.00 ) //Pt 1
( 5.055282 -1.5451 0.00 ) //Pt 2
( 5.055282 1.5451 0.00 ) //Pt 3
( -2.342151 4.2449 0.00 ) //Pt 4
( 0.300000 0.0750 0.00 ) //Pt 5
( 0.000000 0.0000 0.00 ) //Pt 6
( 0.300000 -0.0750 0.00 ) //Pt 7
( 0.900000 -0.0181 0.00 ) //Pt 8
( 0.900000 0.0181 0.00 ) //Pt 9
( -4.700000 0.0000 0.10 ) //Pt 10
( -2.342151 -4.2449 0.10 ) //Pt 11
( 5.055282 -1.5451 0.10 ) //Pt 12
( 5.055282 1.5451 0.10 ) //Pt 13
( -2.342151 4.2449 0.10 ) //Pt 14
( 0.300000 0.0750 0.10 ) //Pt 15
( 0.000000 0.0000 0.10 ) //Pt 16
( 0.300000 -0.0750 0.10 ) //Pt 17
( 0.900000 -0.0181 0.10 ) //Pt 18
( 0.900000 0.0181 0.10 ) //Pt 19
);

blocks
(
hex ( 0 1 7 6 10 11 17 16) ( 26 50 1) simpleGrading ( 10.0000 0.0010 1)
hex ( 1 2 8 7 11 12 18 17) ( 49 50 1) simpleGrading ( 0.1000 0.0010 1)
hex ( 2 3 9 8 12 13 19 18) ( 80 50 1) simpleGrading ( 1.0000 0.0010 1)
hex ( 3 4 5 9 13 14 15 19) ( 49 50 1) simpleGrading ( 10.0000 0.0010 1)
hex ( 4 0 6 5 14 10 16 15) ( 26 50 1) simpleGrading ( 0.1000 0.0010 1)
);

edges
(
polyLine 6 7 (
( 0.0125 -0.0237 0.0000 )
( 0.0250 -0.0327 0.0000 )
( 0.0500 -0.0444 0.0000 )
( 0.0750 -0.0525 0.0000 )
( 0.1000 -0.0585 0.0000 )
( 0.1500 -0.0668 0.0000 )
( 0.2000 -0.0717 0.0000 )
( 0.2500 -0.0743 0.0000 )
)
polyLine 16 17 (
( 0.0125 -0.0237 0.1000 )
( 0.0250 -0.0327 0.1000 )
( 0.0500 -0.0444 0.1000 )
( 0.0750 -0.0525 0.1000 )
( 0.1000 -0.0585 0.1000 )
( 0.1500 -0.0668 0.1000 )
( 0.2000 -0.0717 0.1000 )
( 0.2500 -0.0743 0.1000 )
)
polyLine 7 8 (
( 0.4000 -0.0725 0.0000 )
( 0.5000 -0.0662 0.0000 )
( 0.6000 -0.0570 0.0000 )
( 0.7000 -0.0458 0.0000 )
( 0.8000 -0.0328 0.0000 )
)
polyLine 17 18 (
( 0.4000 -0.0725 0.1000 )
( 0.5000 -0.0662 0.1000 )
( 0.6000 -0.0570 0.1000 )
( 0.7000 -0.0458 0.1000 )
( 0.8000 -0.0328 0.1000 )
)
polyLine 9 8 (
( 1.0000 0.0016 0.0000 )
) // trailing edge
polyLine 19 18 (
( 1.0000 -0.0016 0.1000 )
) // trailing edge
polyLine 9 5 (
( 0.8000 0.0328 0.0000 )
( 0.7000 0.0458 0.0000 )
( 0.6000 0.0570 0.0000 )
( 0.5000 0.0662 0.0000 )
( 0.4000 0.0725 0.0000 )
)
polyLine 19 15 (
( 0.8000 0.0328 0.1000 )
( 0.7000 0.0458 0.1000 )
( 0.6000 0.0570 0.1000 )
( 0.5000 0.0662 0.1000 )
( 0.4000 0.0725 0.1000 )
)
polyLine 5 6 (
( 0.2500 0.0743 0.0000 )
( 0.2000 0.0717 0.0000 )
( 0.1500 0.0668 0.0000 )
( 0.1000 0.0585 0.0000 )
( 0.0750 0.0525 0.0000 )
( 0.0500 0.0444 0.0000 )
( 0.0250 0.0327 0.0000 )
( 0.0125 0.0237 0.0000 )
)
polyLine 15 16 (
( 0.2500 0.0743 0.1000 )
( 0.2000 0.0717 0.1000 )
( 0.1500 0.0668 0.1000 )
( 0.1000 0.0585 0.1000 )
( 0.0750 0.0525 0.1000 )
( 0.0500 0.0444 0.1000 )
( 0.0250 0.0327 0.1000 )
( 0.0125 0.0237 0.1000 )
)
arc 0 1 (-4.070970 -2.427885 0.000000 )
arc 10 11 (-4.070970 -2.427885 0.100000 )
arc 1 2 ( 0.300000 -5.000000 0.000000 )
arc 11 12 ( 0.300000 -5.000000 0.100000 )
arc 2 3 ( 5.300000 0.000000 0.000000 )
arc 12 13 ( 5.300000 0.000000 0.100000 )
arc 3 4 ( 0.300000 5.000000 0.000000 )
arc 13 14 ( 0.300000 5.000000 0.100000 )
arc 4 0 (-4.070970 2.427885 0.000000 )
arc 14 10 (-4.070970 2.427885 0.100000 )
polyLine 4 5 (
( 0.3000 0.3875 0.0000 )
)
polyLine 14 15 (
( 0.3000 0.3875 0.1000 )
)
polyLine 1 7 (
( 0.3000 -0.3875 0.0000 )
)
polyLine 11 17 (
( 0.3000 -0.3875 0.1000 )
)
polyLine 9 3 (
( 0.9614 0.1473 0.0000 )
) // trailing edge
polyLine 19 13 (
( 0.9614 0.1473 0.1000 )
) // trailing edge
polyLine 8 2 (
( 0.9614 -0.1473 0.0000 )
) // trailing edge
polyLine 18 12 (
( 0.9614 -0.1473 0.1000 )
) // trailing edge
);

patches
(
patch inlet
(
( 4 14 10 0 )
( 0 10 11 1 )
)
patch outlet
(
( 1 11 12 2 )
( 2 12 13 3 )
( 3 13 14 4 )
)
wall airfoil
(
( 5 15 16 6 )
( 6 16 17 7 )
( 7 17 18 8 )
( 8 18 19 9 )
( 9 19 15 5 )
)
);

mergePatchPairs
(
);

//* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
Any help would be MUCH appreciated!

Best regards
Leo
Attached Files
File Type: txt RASProperties.txt (950 Bytes, 4 views)
File Type: txt transportProperties.txt (944 Bytes, 2 views)
File Type: txt controlDict.txt (1.8 KB, 5 views)
File Type: txt fvSchemes.txt (1.4 KB, 4 views)
File Type: txt fvSolution.txt (2.3 KB, 2 views)

Last edited by oscarli; April 11, 2013 at 04:26.
oscarli is offline   Reply With Quote

Old   April 10, 2013, 11:44
Default
  #2
Senior Member
 
Fumiya Nozaki
Join Date: Jun 2010
Location: Yokohama, Japan
Posts: 169
Rep Power: 7
fumiya is on a distinguished road
The wall shear stress vanishes at separation points and you can calculate
the wall shear stress using wallShearStress utility.
The thread (wallGradU components) could be of help.

Hope this helps,
Fumiya
fumiya is offline   Reply With Quote

Old   April 12, 2013, 03:25
Default
  #3
New Member
 
Leo
Join Date: Jan 2013
Location: Duisburg,Germany
Posts: 3
Rep Power: 4
oscarli is on a distinguished road
Hi Fumiya,

Thank you very much for your reply. I will try the wallShearStress utility.



Quote:
Originally Posted by fumiya View Post
The wall shear stress vanishes at separation points and you can calculate
the wall shear stress using wallShearStress utility.
The thread (wallGradU components) could be of help.

Hope this helps,
Fumiya
oscarli is offline   Reply With Quote

Old   April 12, 2013, 05:08
Default
  #4
New Member
 
Leo
Join Date: Jan 2013
Location: Duisburg,Germany
Posts: 3
Rep Power: 4
oscarli is on a distinguished road
Hi Fumiya,

I'v got something seems good. Is that right? I'v put the results in attach files.
Thank you very much.
Attached Images
File Type: jpg sp.jpg (12.4 KB, 66 views)
File Type: jpg sp1.jpg (14.9 KB, 66 views)
oscarli is offline   Reply With Quote

Reply

Tags
pressure gradient, separation point, velocity gradient

Thread Tools
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 On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
OpenFOAM 1.6-ext git installation on Ubuntu 11.10 x64 Attesz OpenFOAM Installation 45 January 13, 2012 13:38
Problem Building OF on Centos cluster (no admin rights) CKH OpenFOAM Installation 5 November 13, 2011 07:32
NO STAGNATION POINT FOR AIRFOIL SIMULATION Rif Main CFD Forum 6 February 4, 2008 08:33
Errors running allwmake in OpenFOAM141dev with WM_COMPILE_OPTION%3ddebug unoder OpenFOAM Installation 11 January 30, 2008 21:30
Where can find airfoil data with pressure distribution or aerodynamic data Ahlo Main CFD Forum 5 January 12, 1999 23:45


All times are GMT -4. The time now is 14:01.