CFD Online Discussion Forums

CFD Online Discussion Forums (http://www.cfd-online.com/Forums/)
-   OpenFOAM (http://www.cfd-online.com/Forums/openfoam/)
-   -   lift coefficient for multi-element wing (http://www.cfd-online.com/Forums/openfoam/73103-lift-coefficient-multi-element-wing.html)

dinonettis February 26, 2010 12:22

lift coefficient for multi-element wing
 
Dear all,

I'm trying to obtain the lift coefficient by means of the library forces.so (set in the ControlDict). The settings are the follwing:

-----------------------------------------------------
forces
{
type forces;
functionObjectLibs ("libforces.so");
patches (front_wing rear_wing main_wing);
rhoName rhoInf;
rhoInf 1.176;
CofR (0 0 0);
outputControl timeStep;
outputInterval 100;

}
forceCoeffs
{
type forceCoeffs;
functionObjectLibs ("libforces.so");
patches (front_wing rear_wing main_wing);
rhoName rhoInf;
rhoInf 1.176;
CofR (0 0 0);
liftDir (0 1 0);
dragDir (1 0 0);
pitchAxis (0 0 0);
magUInf 7;
lRef 6.0;
Aref 1.0;
outputControl timeStep;
outputInterval 100;
}
--------------------------------------------------

As it is possible to see the geometry is composed by 3 profiles. Therefore the reference lenght I imposed corresponds to the global lenght (or chord) of the 3 profiles in the wind direction.
The result of the firts 1000 iteration (in which the simulation should be converged) is the following:

# Time Cd Cl Cm
100 0.0121195 0.0343389 0
200 0.0114814 0.0389873 0
300 0.0113282 0.0410893 0
400 0.01112 0.0436375 0
500 0.0108316 0.0464789 0
600 0.0105124 0.0490456 0
700 0.0102129 0.0515734 0
800 0.00987898 0.0542187 0
900 0.0094987 0.0563448 0
1000 0.00913385 0.0579033 0

First of all the coefficient seems to be still incresing with time, although the simulation should be converged (residuals 1e-7). However I don't think it will never reach the expected value that is around 3.
Which could be the reason of such a low value??

I'm using a k-epsilon model with wall functions and simpleFoam solver. Unfortunately I've just checked the y+ and it is exactly in the range in which it should not be, i.e. between 5 and 30.
So I have 2 question:
- such a big error could be due to the wrong y+??
- since I guess I have to modify the mesh, it is better to adopt a low Re model (I would prefer to avoid that due to the more complex mesh) or again wall functions??
Thanks you very much in advance.

Dino

fra76 February 27, 2010 14:35

Hi Dino,
I think your reference area is wrong (it is used for force coefficients). If you know that your coefficient should be 3, from the same source you should find the area they used for computing that coefficient.

About the convergence, which residual is 1e-7, the one at the beginning or at the end of the solver? You should monitor the initial one to check convergence. From my experience, you need more than 1000 iterations to converge...

Hope this helps,
Francesco

dinonettis March 3, 2010 07:30

Hi Francesco,

you were right. I check the code and the coefficients Cd and Cl are both calculated with the reference area even if it is a 2D calculation. In fact comparing the result I get for a rae2822 testcase they are scaled of a factor that is equal to the thickness of the grid in the 3rd direction.
Therefore the parameters have to be set in this way:
-Aref=chord*thickness of the grid
-Lref=chord

thanks for your help

dino

dinonettis March 3, 2010 07:37

ps: I forgot, there is still something I cannot understand. Although the initial residuals, as you suggested are quite low (the highest is pressure that is 1e-5) the coefficients slowly, but continuosly, decrease!!
suggestions?

fra76 March 3, 2010 15:57

Can you please post the output of a couple of iterations?

dinonettis March 3, 2010 17:23

these are the last 3 iterations:

-------------------------------------------------------------------------------------
Time = 6998

smoothSolver: Solving for Ux, Initial residual = 9.93475e-07, Final residual = 9.91825e-08, No Iterations 2
smoothSolver: Solving for Uy, Initial residual = 1.42939e-06, Final residual = 2.13243e-08, No Iterations 4
GAMG: Solving for p, Initial residual = 4.38484e-06, Final residual = 4.17025e-08, No Iterations 6
time step continuity errors : sum local = 3.50698e-12, global = 3.3235e-14, cumulative = -1.18192e-10
smoothSolver: Solving for epsilon, Initial residual = 1.8578e-06, Final residual = 2.03126e-08, No Iterations 4
smoothSolver: Solving for k, Initial residual = 3.68588e-06, Final residual = 4.06477e-08, No Iterations 4
ExecutionTime = 4959.74 s ClockTime = 4963 s

Time = 6999

smoothSolver: Solving for Ux, Initial residual = 9.93343e-07, Final residual = 9.91885e-08, No Iterations 2
smoothSolver: Solving for Uy, Initial residual = 1.42949e-06, Final residual = 2.13262e-08, No Iterations 4
GAMG: Solving for p, Initial residual = 4.42572e-06, Final residual = 3.17665e-08, No Iterations 7
time step continuity errors : sum local = 2.73255e-12, global = 4.25529e-14, cumulative = -1.18149e-10
smoothSolver: Solving for epsilon, Initial residual = 1.8574e-06, Final residual = 2.03082e-08, No Iterations 4
smoothSolver: Solving for k, Initial residual = 3.68551e-06, Final residual = 4.06433e-08, No Iterations 4
ExecutionTime = 4962.15 s ClockTime = 4965 s

Time = 7000

smoothSolver: Solving for Ux, Initial residual = 9.93306e-07, Final residual = 9.92398e-08, No Iterations 2
smoothSolver: Solving for Uy, Initial residual = 1.42507e-06, Final residual = 2.12558e-08, No Iterations 4
GAMG: Solving for p, Initial residual = 4.41421e-06, Final residual = 3.60377e-08, No Iterations 7
time step continuity errors : sum local = 3.06222e-12, global = 4.82754e-14, cumulative = -1.18101e-10
smoothSolver: Solving for epsilon, Initial residual = 1.85699e-06, Final residual = 2.03038e-08, No Iterations 4
smoothSolver: Solving for k, Initial residual = 3.68514e-06, Final residual = 4.06389e-08, No Iterations 4
ExecutionTime = 4967.1 s ClockTime = 4970 s
-------------------------------------------------------------------------------------

thanks,

dino

fra76 March 16, 2010 14:14

Do they decrease or they are changing in a cyclic way?
Have you tried to raise up the underrelaxation factors, if they are low?

enry April 25, 2010 12:57

Hi all,
I'm doing a simulation on a 3D model, and I need to have force on a surface. What does CofR stands for in 3D simulation? I need to define a rotation AXIS, and not CENTER in 3D simulation.... how can define it?
Thanks.

fra76 April 25, 2010 13:49

CofR is the Centre of Rotation for moments calculation (see src/postProcessing/functionObjects/forces/forces/forces.H). You will get a 3D moment vector.
About forces, they are computed in the computational system of reference (i.e., along X,Y,Z). If you want lift and drag coefficients along specific axis, use forceCoeffs functionObject (see src/postProcessing/functionObjects/forces/forceCoeffs/forceCoeffs.H).

Hope this helps,
Francesco

enry April 25, 2010 14:06

Hi francesco,
Thanks for your reply.
Yes, of course... I can calculate only the vector moment.

I have a problem with force function: I add the following lines to the controlDict file:




functions
(
force
{
type forces;
functionObjectLibs ("libforces.so"); //Lib to load
patches (blades); // change to your patch name
rhoName rhoInf;
rhoInf 1.225; //Reference density for fluid
CofR (0 0 0); //Origin for moment calculations
outputControl timeStep;
outputInterval 1;
}


);




For 2D model I don't have any problem, but for 3D ones OF give me an error:





*** glibc detected *** turbDyMFoam: corrupted double-linked list: 0x08845f90 ***
======= Backtrace: =========
/lib/tls/i686/cmov/libc.so.6[0xb594d0cd]
/lib/tls/i686/cmov/libc.so.6[0xb594e88e]
/lib/tls/i686/cmov/libc.so.6(cfree+0x90)[0xb59524f0]
/home/enrico/OpenFOAM/ThirdParty/gcc-4.3.1/platforms/linux/lib/libstdc++.so.6(_ZdlPv+0x21)[0xb5b2f051]
/home/enrico/OpenFOAM/ThirdParty/gcc-4.3.1/platforms/linux/lib/libstdc++.so.6(_ZNSs4_Rep10_M_destroyERKSaIcE+0x1d )[0xb5b0d61d]
/home/enrico/OpenFOAM/OpenFOAM-1.5-dev/lib/linuxGccDPOpt/libOpenFOAM.so(_ZN4Foam14primitiveEntryD0Ev+0x111)[0xb5d1c531]
/home/enrico/OpenFOAM/OpenFOAM-1.5-dev/lib/linuxGccDPOpt/libOpenFOAM.so(_ZN4Foam10dictionaryD2Ev+0x79)[0xb5d15d79]
/home/enrico/OpenFOAM/OpenFOAM-1.5-dev/lib/linuxGccDPOpt/libOpenFOAM.so(_ZN4Foam15dictionaryEntryD0Ev+0x33)[0xb5d22da3]
/home/enrico/OpenFOAM/OpenFOAM-1.5-dev/lib/linuxGccDPOpt/libOpenFOAM.so(_ZN4Foam10dictionaryD1Ev+0x79)[0xb5d143a9]
/home/enrico/OpenFOAM/OpenFOAM-1.5-dev/lib/linuxGccDPOpt/libOpenFOAM.so[0xb5ca0aeb]
/lib/tls/i686/cmov/libc.so.6(__cxa_finalize+0xb1)[0xb59113b1]
/home/enrico/OpenFOAM/OpenFOAM-1.5-dev/lib/linuxGccDPOpt/libOpenFOAM.so[0xb5ca0893]
/home/enrico/OpenFOAM/OpenFOAM-1.5-dev/lib/linuxGccDPOpt/libOpenFOAM.so[0xb5fa731c]
/lib/ld-linux.so.2[0xb772c00f]
/lib/tls/i686/cmov/libc.so.6(exit+0xd4)[0xb5911084]
/lib/tls/i686/cmov/libc.so.6(__libc_start_main+0xe8)[0xb58f9458]
turbDyMFoam(_ZNK4Foam11regIOobject11writeObjectENS _8IOstream12streamFormatENS1_13versionNumberENS1_1 5compressionTypeE+0xcd)[0x8058ee1]
======= Memory map: ========
08048000-080a3000 r-xp 00000000 08:05 434209 /home/enrico/OpenFOAM/OpenFOAM-1.5-dev/applications/bin/linuxGccDPOpt/turbDyMFoam
080a3000-080a4000 rw-p 0005b000 08:05 434209 /home/enrico/OpenFOAM/OpenFOAM-1.5-dev/applications/bin/linuxGccDPOpt/turbDyMFoam
080a4000-08cfe000 rw-p 080a4000 00:00 0 [heap]
b37e2000-b3889000 r-xp 00000000 08:05 346976 /home/enrico/OpenFOAM/OpenFOAM-1.5-dev/lib/linuxGccDPOpt/libLESfilters.so
b3889000-b388b000 rw-p 000a6000 08:05 346976 /home/enrico/OpenFOAM/OpenFOAM-1.5-dev/lib/linuxGccDPOpt/libLESfilters.so
b388b000-b399e000 r-xp 00000000 08:05 346980 /home/enrico/OpenFOAM/OpenFOAM-1.5-dev/lib/linuxGccDPOpt/libcompressibleLESModels.so
b399e000-b39a2000 rw-p 00112000 08:05 346980 /home/enrico/OpenFOAM/OpenFOAM-1.5-dev/lib/linuxGccDPOpt/libcompressibleLESModels.so
b39a2000-b3b49000 r-xp 00000000 08:05 346975 /home/enrico/OpenFOAM/OpenFOAM-1.5-dev/lib/linuxGccDPOpt/libcompressibleRASModels.so
b3b49000-b3b4c000 rw-p 001a7000 08:05 346975 /home/enrico/OpenFOAM/OpenFOAM-1.5-dev/lib/linuxGccDPOpt/libcompressibleRASModels.so
b3b4c000-b3c9b000 r-xp 00000000 08:05 346979 /home/enrico/OpenFOAM/OpenFOAM-1.5-dev/lib/linuxGccDPOpt/libincompressibleLESModels.so
b3c9b000-b3ca0000 rw-p 0014e000 08:05 346979 /home/enrico/OpenFOAM/OpenFOAM-1.5-dev/lib/linuxGccDPOpt/libincompressibleLESModels.so
b3e0b000-b3e33000 r-xp 00000000 08:05 346978 /home/enrico/OpenFOAM/OpenFOAM-1.5-dev/lib/linuxGccDPOpt/libLESdeltas.so
b3e33000-b3e34000 rw-p 00028000 08:05 346978 /home/enrico/OpenFOAM/OpenFOAM-1.5-dev/lib/linuxGccDPOpt/libLESdeltas.so
b3e34000-b3e7a000 r-xp 00000000 08:05 346958 /home/enrico/OpenFOAM/OpenFOAM-1.5-dev/lib/linuxGccDPOpt/libspecie.so
b3e7a000-b3e7b000 rw-p 00045000 08:05 346958 /home/enrico/OpenFOAM/OpenFOAM-1.5-dev/lib/linuxGccDPOpt/libspecie.so
b3e7b000-b3ec6000 r-xp 00000000 08:05 346965 /home/enrico/OpenFOAM/OpenFOAM-1.5-dev/lib/linuxGccDPOpt/libbasicThermophysicalModels.so
b3ec6000-b3ec8000 rw-p 0004a000 08:05 346965 /home/enrico/OpenFOAM/OpenFOAM-1.5-dev/lib/linuxGccDPOpt/libbasicThermophysicalModels.so
b4c71000-b4cc4000 r-xp 00000000 08:05 346987 /home/enrico/OpenFOAM/OpenFOAM-1.5-dev/lib/linuxGccDPOpt/libforces.so
b4cc4000-b4cc6000 rw-p 00053000 08:05 346987 /home/enrico/OpenFOAM/OpenFOAM-1.5-dev/lib/linuxGccDPOpt/libforces.so
b4f00000-b4f21000 rw-p b4f00000 00:00 0
b4f21000-b5000000 ---p b4f21000 00:00 0
b5076000-b507f000 r-xp 00000000 08:05 345098 /lib/tls/i686/cmov/libnss_files-2.7.so
b507f000-b5081000 rw-p 00008000 08:05 345098 /lib/tls/i686/cmov/libnss_files-2.7.so
b5081000-b5089000 r-xp 00000000 08:05 345100 /lib/tls/i686/cmov/libnss_nis-2.7.so
b5089000-b508b000 rw-p 00007000 08:05 345100 /lib/tls/i686/cmov/libnss_nis-2.7.so
b509b000-b509f000 rw-p b509b000 00:00 0
b509f000-b50a1000 r-xp 00000000 08:05 345108 /lib/tls/i686/cmov/libutil-2.7.so
b50a1000-b50a3000 rw-p 00001000 08:05 345108 /lib/tls/i686/cmov/libutil-2.7.so
b50a3000-b50b7000 r-xp 00000000 08:05 345095 /lib/tls/i686/cmov/libnsl-2.7.so
b50b7000-b50b9000 rw-p 00013000 08:05 345095 /lib/tls/i686/cmov/libnsl-2.7.so
b50b9000-b50bb000 rw-p b50b9000 00:00 0
b50bb000-b50f0000 r-xp 00000000 08:05 475690 /home/enrico/OpenFOAM/ThirdParty/openmpi-1.2.6/platforms/linuxGccDPOpt/lib/libopen-pal.so.0.0.0
b50f0000-b50f1000 r--p 00034000 08:05 475690 /home/enrico/OpenFOAM/ThirdParty/openmpi-1.2.6/platforms/linuxGccDPOpt/lib/libopen-pal.so.0.0.0
b50f1000-b50f2000 rw-p 00035000 08:05 475690 /home/enrico/OpenFOAM/ThirdParty/openmpi-1.2.6/platforms/linuxGccDPOpt/lib/libopen-pal.so.0.0.0
b50f2000-b5115000 rw-p b50f2000 00:00 0
b5115000-b5165000 r-xp 00000000 08:05 475692 /home/enrico/OpenFOAM/ThirdParty/openmpi-1.2.6/platforms/linuxGccDPOpt/lib/libopen-rte.so.0.0.0
b5165000-b5166000 r--p 00050000 08:05 475692 /home/enrico/OpenFOAM/ThirdParty/openmpi-1.2.6/platforms/linuxGccDPOpt/lib/libopen-rte.so.0.0.0
b5166000-b5168000 rw-p 00051000 08:05 475692 /home/enrico/OpenFOAM/ThirdParty/openmpi-1.2.6/platforms/linuxGccDPOpt/lib/libopen-rte.so.0.0.0
b5168000-b517e000 r-xp 00000000 08:05 346897 /home/enrico/OpenFOAM/OpenFOAM-1.5-dev/lib/linuxGccDPOpt/libGKlib.so
b517e000-b517f000 rw-p 00016000 08:05 346897 /home/enrico/OpenFOAM/OpenFOAM-1.5-dev/lib/linuxGccDPOpt/libGKlib.so
b517f000-b51c6000 r-xp 00000000 08:05 346898 /home/enrico/OpenFOAM/OpenFOAM-1.5-dev/lib/linuxGccDPOpt/libmetis.so
b51c6000-b51c7000 rw-p 00047000 08:05 346898 /home/enrico/OpenFOAM/OpenFOAM-1.5-dev/lib/linuxGccDPOpt/libmetis.so
b51c7000-b5236000 r-xp 00000000 08:05 475679 /home/enrico/OpenFOAM/ThirdParty/openmpi-1.2.6/platforms/linuxGccDPOpt/lib/libmpi.so.0.0.0
b5236000-b5237000 r--p 0006e000 08:05 475679 /home/enrico/OpenFOAM/ThirdParty/openmpi-1.2.6/platforms/linuxGccDPOpt/lib/libmpi.so.0.0.0
b5237000-b523e000 rw-p 0006f000 08:05 475679 /home/enrico/OpenFOAM/ThirdParty/openmpi-1.2.6/platforms/linuxGccDPOpt/lib/libmpi.so.0.0.0
b523e000-b5245000 rw-p b523e000 00:00 0
b5245000-b5258000 r-xp 00000000 08:05 346894 /home/enrico/OpenFOAM/OpenFOAM-1.5-dev/lib/linuxGccDPOpt/libz.so
b5258000-b5259000 rw-p 00012000 08:05 346894 /home/enrico/OpenFOAM/OpenFOAM-1.5-dev/lib/linuxGccDPOpt/libz.so
b5259000-b525f000 r-xp 00000000 08:05 346905 /home/enrico/OpenFOAM/OpenFOAM-1.5-dev/lib/linuxGccDPOpt/liblagrangian.so
b525f000-b5260000 rw-p 00006000 08:05 346905 /home/enrico/OpenFOAM/OpenFOAM-1.5-dev/lib/linuxGccDPOpt/liblagrangian.so
b5260000-b527b000 r-xp 00000000 08:05 346903 /home/enrico/OpenFOAM/OpenFOAM-1.5-dev/lib/linuxGccDPOpt/libdecompositionMethods.so
b527b000-b527c000 rw-p 0001b000 08:05 346903 /home/enrico/OpenFOAM/OpenFOAM-1.5-dev/lib/linuxGccDPOpt/libdecompositionMethods.so
b527c000-b52ab000 r-xp 00000000 08:05 346920 /home/enrico/OpenFOAM/OpenFOAM-1.5-dev/lib/linuxGccDPOpt/libtopoChangerFvMesh.so
b52ab000-b52ac000 rw-p 0002f000 08:05 346920 /home/enrico/OpenFOAM/OpenFOAM-1.5-dev/lib/linuxGccDPOpt/libtopoChangerFvMesh.so
b52ac000-b52ad000 rw-p b52ac000 00:00 0
b52ad000-b53f5000 r-xp 00000000 08:05 346917 /home/enrico/OpenFOAM/OpenFOAM-1.5-dev/lib/linuxGccDPOpt/libsampling.so
b53f5000-b53f9000 rw-p 00148000 08:05 346917 /home/enrico/OpenFOAM/OpenFOAM-1.5-dev/lib/linuxGccDPOpt/libsampling.so
b53f9000-b5465000 r-xp 00000000 08:05 346906 /home/enrico/OpenFOAM/OpenFOAM-1.5-dev/lib/linuxGccDPOpt/libtriSurface.so
b5465000-b5466000 rw-p 0006b000 08:05 346906 /home/enrico/OpenFOAM/OpenFOAM-1.5-dev/lib/linuxGccDPOpt/libtriSurface.so
b5466000-b5467000 rw-p b5466000 00:00 0
b5467000-b55c9000 r-xp 00000000 08:05 346914 /home/enrico/OpenFOAM/OpenFOAM-1.5-dev/lib/linuxGccDPOpt/libfvMotionSolver.so
b55c9000-b55ce000 rw-p 00162000 08:05 346914 /home/enrico/OpenFOAM/OpenFOAM-1.5-dev/lib/linuxGccDPOpt/libfvMotionSolver.so
b55ce000-b5632000 r-xp 00000000 08:05 346916 /home/enrico/OpenFOAM/OpenFOAM-1.5-dev/lib/linuxGccDPOpt/libfaceDecompositionMotionSolver.so
b5632000-b5634000 rw-p 00063000 08:05 346916 /home/enrico/OpenFOAM/OpenFOAM-1.5-dev/lib/linuxGccDPOpt/libfacAborted



Can you help me?
I tried to recompile the force library, without solving my problem. Any ideas?
Thanks!

zabar April 25, 2010 14:35

Hi enry

try change force to forces

functions
(
forces
{
type forces;
functionObjectLibs ("libforces.so"); //Lib to load
patches (blades); // change to your patch name
rhoName rhoInf;
rhoInf 1.225; //Reference density for fluid
CofR (0 0 0); //Origin for moment calculations
outputControl timeStep;
outputInterval 1;
}


);


sasha

enry April 25, 2010 15:04

Hi sasha,
thanks for your reply!
I tried to do what you said, but without solving the problem.
That word can be what you want, without any link to what you are calculating.
Any other ideas?

;)

enry April 26, 2010 03:38

I understood the meaning of Pitch axis, and it's what I'm looking for. It is the axis for Cm calculation; Cm is moment coefficient around Pitch axis, defined in controlDict.

However, I can't solve the error that OF post at the end of simulation...any suggestion?
thanks


All times are GMT -4. The time now is 13:00.