CFD Online Discussion Forums

CFD Online Discussion Forums (http://www.cfd-online.com/Forums/)
-   OpenFOAM Running, Solving & CFD (http://www.cfd-online.com/Forums/openfoam-solving/)
-   -   NACA 0012 Case Will Not Converge (http://www.cfd-online.com/Forums/openfoam-solving/90851-naca-0012-case-will-not-converge.html)

dancfd July 22, 2011 00:00

NACA 0012 Case Will Not Converge
 
1 Attachment(s)
Hello all,

I am having great difficulty trying to set up a case for a NACA 0012 airfoil that will converge. I have taken great pains to get a structured C-grid with y+ of ~30 (for k-omega SST), and edgeGrading to overcome the problem of high aspect ratio cells in the wake. This case has converged with meshes that I do not trust (first cell at y+ ~ 30, second at y+ ~ 200), but I have tried tweaking the mesh and the case but could not get it to work.

I feel like the NACA 0012 is a pretty straightforward example, which makes it all the more frustrating that I cannot get it to work. My case is attached - I would appreciate if someone could have a look and suggest where I might be going wrong.

Thanks,

Dan

dancfd July 22, 2011 00:53

On a related note, has anyone successfully run a 2-D airfoil simulation that converged and produced results that compared well to experimental data?

Thanks,
Dan

FelixL July 22, 2011 01:25

Good morning, Dan,


I was looking into your case a bit and I think the first thing to have a look at should be the mesh.

First of all, I get a few warnings when running blockMesh:

Code:

Creating block mesh topology
--> FOAM Warning :
    From function cellModel::mag(const labelList&, const pointField&)
    in file meshes/meshShapes/cellModel/cellModel.C at line 128
    zero or negative pyramid volume: -8.5e-09 for face 0
--> FOAM Warning :
    From function cellModel::mag(const labelList&, const pointField&)
    in file meshes/meshShapes/cellModel/cellModel.C at line 128
    zero or negative pyramid volume: -0.00049768 for face 0
--> FOAM Warning :
    From function cellModel::mag(const labelList&, const pointField&)
    in file meshes/meshShapes/cellModel/cellModel.C at line 128
    zero or negative pyramid volume: -1.26062e-08 for face 2
--> FOAM Warning :
    From function cellModel::mag(const labelList&, const pointField&)
    in file meshes/meshShapes/cellModel/cellModel.C at line 128
    zero or negative pyramid volume: -1.26063e-08 for face 3
--> FOAM Warning :
    From function cellModel::mag(const labelList&, const pointField&)
    in file meshes/meshShapes/cellModel/cellModel.C at line 128
    zero or negative pyramid volume: -1.26063e-08 for face 4
--> FOAM Warning :
    From function cellModel::mag(const labelList&, const pointField&)
    in file meshes/meshShapes/cellModel/cellModel.C at line 128
    zero or negative pyramid volume: -1.26063e-08 for face 5
--> FOAM Warning :
    From function blockMesh::createTopology(IOdictionary&)
    in file blockMesh/blockMeshTopology.C at line 255
    negative volume block : 3, probably defined inside-out

The case works and checkMesh doesn't complain, though, but you probably might want to fix that, just to be sure.

Secondly, at the regions of your domain far away from the airfoil you have huge differences in cell sizes! The size ratio of adjacant cells should not overcome 2, otherwise the stability of the simulation could be critically affected.


You should also think about a proper initialization. I ran potentialFoam before I started simpleFoam and the simulation seemed to converge. After 500 steps the fields were looking pretty good, I havent checked the accuracy, though.


I hope I could help you!

Greetings,
Felix.

dancfd July 27, 2011 00:31

1 Attachment(s)
Hi Felix,

Thanks for your advice! I have changed the mesh grading to reduce the difference between the cell sizes at the interface between the "leading edge" blocks of the mesh and the "upper/lower surface" blocks of the mesh (I believe this is the area you were referring to - pic attached).

I ran potentialFoam prior to running simpleFoam this time around, and I am waiting on the results as the case runs...

Regarding the blockMesh errors, I was able to reduce these by changing the order of the block 3 vertices to "( 3 9 11 1 2 8 10 0)". However, this introduced a host of errors with checkMesh:

Code:

Checking geometry...
    Overall domain bounding box (-9.899 -10 0) (10 10 0.1)
    Mesh (non-empty, non-wedge) directions (1 1 0)
    Mesh (non-empty) directions (1 1 0)
    All edges aligned with or perpendicular to non-empty directions.
 ***Boundary openness (0.0055776 -8.3664e-07 -7.39573e-16) possible hole in boundary description.
 ***Open cells found, max cell openness: 1, number of open cells 300
  <<Writing 300 non closed cells to set nonClosedCells
  <<Writing 9900 cells with high aspect ratio to set highAspectRatioCells
    Minumum face area = 3.81788e-07. Maximum face area = 0.586083.  Face area magnitudes OK.
    Min volume = 2e-300. Max volume = 0.0146634.  Total volume = 19.7899.  Cell volumes OK.
    Mesh non-orthogonality Max: 180 average: 55.3971
  *Number of severely non-orthogonal faces: 2.
 ***Number of non-orthogonality errors: 20000.
  <<Writing 20002 non-orthogonal faces to set nonOrthoFaces
 ***Error in face pyramids: 60100 faces are incorrectly oriented.
  <<Writing 40100 faces with incorrect orientation to set wrongOrientedFaces
    Max skewness = 0.506229 OK.

Failed 4 mesh checks.

This leads to two questions:
1) How do I address the blockMesh errors that are of the following nature? Is it possible to visualize the discrepant faces?
Code:

--> FOAM Warning :
    From function cellModel::mag(const labelList&, const pointField&)
    in file meshes/meshShapes/cellModel/cellModel.C at line 128
    zero or negative pyramid volume: -8.5e-09 for face 0

2) How do I get blockMesh and checkMesh to like the same mesh?

Thanks,
Dan

linnemann July 27, 2011 02:02

Hi

The best thing you can do is go through each block in blockMesh

uncomment all but the first one and methodically enable a block at a time until you get the negative volumes.

You probably have a block which you have gone around the points in the wrong direction and the cells get "inverted" even though it looks ok.

fippo_dk November 14, 2011 07:55

Results?
 
Hi Dan

I'm also running a simulation of 2D airfoil with k-omega SST.

I would like to know whether we could compare results.

I have other airfoils (NACA) until now, but I could mesh the naca0015 in order to compare.

Regards,

Felipe

dancfd November 14, 2011 20:09

Hello Felipe,

I finally got the mesh to converge, and the results are reasonable. My residuals are higher than I would like, but that is probably due to the high mesh resolution. Let me know what you would like by message and I would be happy to help.

Dan


All times are GMT -4. The time now is 11:49.