airfoil study
Hi,
I am studying a turbulent flow that involves a laminar profile NLF_0414f. I have imposed conditions written at the end of the post, but I got to the end of the calculations of the Cl and Cd absurd values, over 10 ^ 10. Could you help me to understand where I'm wrong? --------nut---------- dimensions [0 2 -1 0 0 0 0]; internalField uniform 1.79e-05; boundaryField { inlet { type freestream; freestreamValue uniform 1.79e-05; } outlet { type freestream; freestreamValue uniform 1.79e-05; } wall { type nutSpalartAllmarasWallFunction; value uniform 0; } frontAndBack { type empty; } } ----------------nutilda------ dimensions [0 2 -1 0 0 0 0]; internalField uniform 0.1; boundaryField { inlet { type freestream; freestreamValue uniform 0.1; } outlet { type freestream; freestreamValue uniform 0.1; } wall { type fixedValue; value uniform 0; } frontAndBack { type empty; } } ----------U----------------- dimensions [0 1 -1 0 0 0 0]; internalField uniform (116 2 0); boundaryField { inlet { type freestream; freestreamValue uniform (116 2 0); } outlet { type freestream; freestreamValue uniform (116 2 0); } wall { type fixedValue; value uniform (0 0 0); } frontAndBack { type empty; } } ----------------------P----------------------------- dimensions [0 2 -2 0 0 0 0]; internalField uniform 110983; boundaryField { inlet { type freestreamPressure; } outlet { type freestreamPressure; } wall { type zeroGradient; } frontAndBack { type empty; } } -------RAS PROPERTIES------------ RASModel SpalartAllmaras; turbulence on; printCoeffs on; -----------TRANSPORT PROPERTIES--------------- transportModel Newtonian; rho rho [ 1 -3 0 0 0 0 0 ] 1.288; nu nu [0 2 -1 0 0 0 0] 1.79e-05; _____________CONTROL DICT_______________ application simpleFoam; startFrom latestTime; startTime 0; stopAt endTime; endTime 0.035; deltaT 5e-06; writeControl runTime; writeInterval 0.005; purgeWrite 0; writeFormat ascii; writePrecision 6; writeCompression compressed; timeFormat general; timePrecision 6; graphFormat raw; runTimeModifiable yes; adjustTimeStep no; maxCo 0.5; maxDeltaT 1e-02; functions { /*forces { type forces; functionObjectLibs ( "libforces.so" ); // lib to load outputControl timeStep; outputInterval 1; patches ( wall // change to your patch name ); // name of fields //pName p; //UName U; log true; // dump to file rhoName rhoInf; rhoInf 1.225; CofR ( 0 0 1 ); } */ forcesCoeffs { type forceCoeffs; functionObjectLibs ( "libforces.so" ); // lib to load outputControl timeStep; outputInterval 1; patches ( wall// change to your patch name ); // name of fields //pName p; //UName U; log true; // dump to file rhoName rhoInf; rhoInf 1.288; CofR ( 0 0 0 ); liftDir ( -0.087 0.996 0 ); dragDir ( 0.996 0.897 0 ); pitchAxis ( 0 0 1); magUInf 138.835; lRef 1; Aref 1; } } // Definition of terms: // rhoInf - reference density // CofR - Centre of rotation // dragDir - Direction of drag coefficient // liftDir - Direction of lift coefficient // pitchAxis - Pitching moment axis // magUinf - free stream velocity magnitude // lRef - reference length // Aref - reference area // ************************************************** *********************** // |
Hello, salvoblack,
first thing that catches my eye: the freestream values of nutilda are much too high. Values of 3 to 5 times the molecular viscosity are appropriate for external aerodynamic cases (see http://turbmodels.larc.nasa.gov/spalart.html ). Greetings, Felix. |
thanks felixL, i tried to put nutilda=0,0000716 but i have also in this case values of Cl and Cd too high.
what do you think about about the other boundary conditions??? |
The other BCs are looking alright. Are the reference values for calculating the aerodynamic coefficients correct? (ref. area = 1mē)
What does checkMesh say? Greetings, Felix. |
this is a problem!
i use also fluent (with the same mesh, obviously) and in the window "reference values" i put area=1 and length=1 and i have no problems. how can i see if these values are correct for openfoam?? p.s checkMesh says OK |
Hello,
reference Area = chord length * wing span For 2D cases the wing span can be set arbitrarily but it has to be accounted for when calculating the ref area. Use the checkMesh output to evaluate the spanwise dimension of your domain. Greetings, Felix. |
sorry felixl but i don't understand, i'm really new with OF
This is what CheckMesh says in the terminal: Create time Create polyMesh for time = 0 Time = 0 Mesh stats points: 148992 internal points: 0 faces: 295680 internal faces: 146688 cells: 73728 boundary patches: 4 point zones: 0 face zones: 0 cell zones: 0 Overall number of cells of each type: hexahedra: 73728 prisms: 0 wedges: 0 pyramids: 0 tet wedges: 0 tetrahedra: 0 polyhedra: 0 Checking topology... Boundary definition OK. Point usage OK. Upper triangular ordering OK. Face vertices OK. Number of regions: 1 (OK). Checking patch topology for multiply connected surfaces ... Patch Faces Points Surface topology outlet 192 386 ok (non-closed singly connected) inlet 768 1538 ok (non-closed singly connected) wall 576 1152 ok (non-closed singly connected) frontAndBack 147456 148992 ok (non-closed singly connected) Checking geometry... Overall domain bounding box (-26.0276 -31.0934 -0.823828) (30 29.304 0.823828) 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 (1.12341e-17 -1.82382e-18 1.02153e-19) OK. Max cell openness = 5.36428e-13 OK. Max aspect ratio = 818.404 OK. Minumum face area = 4.62385e-09. Maximum face area = 4.28893. Face area magnitudes OK. Min volume = 7.61852e-09. Max volume = 3.86456. Total volume = 4779.57. Cell volumes OK. Mesh non-orthogonality Max: 89.9384 average: 7.88302 *Number of severely non-orthogonal faces: 1021. Non-orthogonality check OK. <<Writing 1021 non-orthogonal faces to set nonOrthoFaces Face pyramids OK. Max skewness = 0.28683 OK. Mesh OK. End Thanks a lot |
Hello,
This line tells you the overall dimension of your computational domain: Overall domain bounding box (-26.0276 -31.0934 -0.823828) (30 29.304 0.823828) The bold numbers are the minimum and maximum z coordinates. I.e. your 2D domain is 1.6477 metres wide which is the same as your wing span. Now calculating the reference area should be straight forward: ref area = 1.6477 m * chord length Greetings, Felix. |
this is absurd.
1)i've taken a new case from this site : http://www.cfd-online.com/Forums/ope...efficient.html 2)i just replaced the mesh, and put as you said aref=1.6477. in the case of naca 0006 the results are good. in my case, with my own mesh, the results are wrong. what's the problem??? it is the mesh!!!! i'm really desperate |
Care to post the log file of your case? It seems to me that the simulation crashed or something, leading to unphysical results and hence the lift and drag coefficients in the order of 10^10.
Please provide the log, fvSchemes and fvSolution files, otherwise I can't really tell why the simulation could've crashed. Greetings, Felix. |
what do you mean for log file??
fvscheme ddtSchemes { default steadyState; } gradSchemes { default Gauss linear; grad(p) Gauss linear; grad(U) Gauss linear; } divSchemes { default none; div(phi,U) Gauss linearUpwind Gauss linear; div(phi,nuTilda) Gauss linearUpwind Gauss linear; div((nuEff*dev(grad(U).T()))) Gauss linear; } laplacianSchemes { default none; laplacian(nuEff,U) Gauss linear corrected; laplacian((1|A(U)),p) Gauss linear corrected; laplacian(DnuTildaEff,nuTilda) Gauss linear corrected; laplacian(1,p) Gauss linear corrected; } interpolationSchemes { default linear; interpolate(U) linear; } snGradSchemes { default corrected; } fluxRequired { default no; p ; } fvsolution solvers { p { solver GAMG; tolerance 1e-06; relTol 0.1; smoother GaussSeidel; nPreSweeps 0; nPostSweeps 2; cacheAgglomeration true; nCellsInCoarsestLevel 10; agglomerator faceAreaPair; mergeLevels 1; } U { solver smoothSolver; smoother GaussSeidel; nSweeps 2; tolerance 1e-08; relTol 0.1; } nuTilda { solver smoothSolver; smoother GaussSeidel; nSweeps 2; tolerance 1e-08; relTol 0.1; } } SIMPLE { nNonOrthogonalCorrectors 0; pRefCell 0; pRefValue 0; } relaxationFactors { default 0; p 0.3; U 0.7; nuTilda 0.7; } |
To create a logfile, run simpleFoam with a command like this:
simpleFoam > log & This will create a file called log where all the residual information will be stored. Also simpleFoam will run in the background then. You can observe the logfile by using the command tail -f log Greetings, Felix. |
1 Attachment(s)
ok
this is the file |
There is a problem with nuTilda, the transport equation isn't being solved. I'm guessing it's got something to do with the boundary setup, though I don't have any recommendations right now. My suggestion would be to rebuild the case from scratch and change the freestream BCs at in- and outlet to something more straightforward (i.e. fixedValue at inlet for everything but pressure, zeroGradient at outlet for everything but pressure. Pressure is vice versa).
Greetings, Felix. |
but the strange thing is that if i use the exemplum of the naca 0006 i have no problems, but if i replace the mesh i have these absurd values.
i don't change anything about the equation and the BCs!!!!! if you note in the checkMesh there are non-orthogonal faces. Is this a problem?? Have you got a good case for an airfoil so i can make some trials???? Thank you very very much. |
The nonorthogonal faces shouldn't be that much of a problem. I had worse meshes and I was able to get decent results. Could you post some screenshots of your mesh? Like an overview and some details of the vicinity of the airfoil.
Greetings, Felix. |
felix, i sent you a private message
|
All times are GMT -4. The time now is 18:53. |