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

rhoSimplecFoam: error in Forces output (correct pressure field)

Register Blogs Community New Posts Updated Threads Search

 
 
LinkBack Thread Tools Search this Thread Display Modes
Prev Previous Post   Next Post Next
Old   December 7, 2015, 11:23
Default rhoSimplecFoam: error in Forces output (correct pressure field)
  #1
Member
 
Join Date: Dec 2015
Posts: 74
Rep Power: 10
WhiteW is on a distinguished road
Hi to everybody.
I'm running some simulation on an airplane using both Fluent and OpenFoam 2.3.0 in order to do a comparison. I'm using the compressible solver rhoSimplecFoam and I have found a resolution strategy for OF in order to obtain a convergence:
- 100 iterations with energy equation deactivated (through fvOptions)
- first order schema until the residual are 1e-4
- second-like order schema
This strategy grants me a good accordance in the global pressure and velocity fields. The pressure field on the airplane surfaces also seems to be correct.
However the force coefficients, the drag and lift forces are very different in OpenFoam and I don't understand the reason. I attached an image of the force report for Fluent and OpenFoam analysis(I converted the OF results in fluent format using foamMeshToFluent and foamDataToFluent commands).
I report the setting used in controlDict, fvSolution and fvSchemes.
The boundary I'm using are:
p - inlet: totalPressure - outlet: fixedValue
U - inlet_ pressureInletVelocity - outlet: pressureInletOutletVelocity
T - inlet: totalTemperature - outlet: inletOutletTotalTemperature
Turbulence model - the k-omega SST.
Has someone some advice in order to fit the forces output?
Thanks in advance,
[WhiteW

ControlDict
Code:
application     rhoSimpleFoam;
startFrom       latestTime;
startTime       0;
stopAt          endTime;
endTime         6000;
deltaT          1;
writeControl    timeStep;
writeInterval   200;
purgeWrite      0;
writeFormat     ascii;
writePrecision  9;
writeCompression off;   
timeFormat      general;
timePrecision   9;
graphFormat     raw;
runTimeModifiable true;
libs
(
 "libforces.so"
 );
functions
{
	forces
	{
		type forces;
		functionObjectLibs ( "libforces.so" );
		outputControl timeStep;
		outputInterval 1;
		patches
			(
			 wall_fuselage
			 wall_nose
			 wall_sponson
			 wall_junction
			 wall_tail
			 wall_wing_nacelle
			 wall_nacelle
			 wall_pianetto_orizzontale1
			 wall_raccordo_pianetti
			 wall_pianetto_verticale
			);
		pName p;
		UName U;
		rhoName rhoInf;
		log true;
		rhoInf 1.16;
		CofR (0.98460 0 0.35195);            
		pitchAxis (0 -1 0);
	}
}
fvOptions
Code:
source1
{
    type            temperatureLimitsConstraint;
    selectionMode   all;
    active          true;

        temperatureLimitsConstraintCoeffs
        {
            Tmin     294.18;
            Tmax     294.19;
        }
}
fvSchemes 1st order:
Code:
ddtSchemes
{
	default             steadyState;
}

gradSchemes
{
	default             Gauss linear;
	grad(U)             Gauss linear;
	grad(p)             Gauss linear;
}

divSchemes
{
	default             bounded Gauss upwind;
	div(phi,U)          bounded Gauss upwind;
	div((muEff*dev2(T(grad(U)))))      Gauss linear;
}

laplacianSchemes
{
	default Gauss linear corrected;
}

interpolationSchemes
{
	default         linear;
}

snGradSchemes
{
	default         corrected;
}

fluxRequired
{
	default         no;
	p;
}

fvSchemes 1st-2nd order
Code:
ddtSchemes
{
	default             steadyState;
}

gradSchemes
{
	default             cellLimited Gauss linear 1;
	grad(U)             cellMDLimited Gauss linear 1;
}

divSchemes
{
	default             bounded Gauss linearUpwind cellLimited Gauss linear 1;
	div(phi,U)          bounded Gauss linearUpwindV cellMDLimited Gauss linear 1;
	div((muEff*dev2(T(grad(U)))))      Gauss linear;
}

laplacianSchemes
{
	default Gauss linear corrected;
}

interpolationSchemes
{
	default         linear;
}

snGradSchemes
{
	default         corrected;
}

fluxRequired
{
	default         no;
	p;
}
fvSolution
Code:
solvers
{
p
    {
        solver          GAMG;
        tolerance       1e-09;
        relTol          0.1;
        smoother        GaussSeidel;
        cacheAgglomeration off;
        nCellsInCoarsestLevel 800;
        agglomerator    faceAreaPair;
        mergeLevels     1;
        maxIter         40;
    }
rho
    {
        solver          GAMG;
        tolerance       1e-09;
        relTol          0.1;
        smoother        GaussSeidel;
        cacheAgglomeration false;
        nCellsInCoarsestLevel 800;
        agglomerator    faceAreaPair;
        mergeLevels     1;
        maxIter         20;
    }
U
    {
        solver          smoothSolver;
        smoother        GaussSeidel;
        nSweeps 	2;
        tolerance       1e-09;
        relTol          0.1;
        maxIter         40;
    }

h
    {
        solver          PBiCG;
        preconditioner  DILU;
        tolerance       1e-09;
        relTol          0.1;
        maxIter         20;
    }
k
    {
        solver          smoothSolver;
        smoother        GaussSeidel;
        nSweeps 	2;
        tolerance       1e-09;
        relTol          0.1;
        maxIter         20;
    }
omega
    {
        solver          smoothSolver;
        smoother        GaussSeidel;
        nSweeps 	2;
        tolerance       1e-09;
        relTol          0.1;
        maxIter         20;
    }
e  
    {
        solver          GAMG;
        tolerance       1e-08;
        relTol          0.1;
        smoother        GaussSeidel;
        nPreSweeps      0;
        nPostSweeps     2;
        nFinestSweeps   2;
        cacheAgglomeration true;
        nCellsInCoarsestLevel 800;
        agglomerator    faceAreaPair;
        mergeLevels     1;
    }
}

SIMPLE
{
    nNonOrthogonalCorrectors 4;
    pMin            pMin [1 -1 -2 0 0 0 0] 90000;
    pMax            pMax [1 -1 -2 0 0 0 0] 105000;
    rhoMin          rhoMin [1 -3 0 0 0 0 0] 1.12; //then changed to 1.08
    rhoMax          rhoMax [1 -3 0 0 0 0 0] 1.20;  //then changed to 1.24

    residualControl //tutorial
    {
        p               1e-4;
        U               1e-4;
        e               1e-4;
        "(k|epsilon|omega)" 1e-3;
    }
}

relaxationFactors
{
        p               0.3;
        rho             0.1;
        e               0.7;
        U               0.7;
        h               0.7;
        k               0.7;
        omega           0.7;
}
Attached Images
File Type: jpg Compare-Drag.jpg (102.4 KB, 44 views)
File Type: jpg Compare-Lift.jpg (105.7 KB, 31 views)
WhiteW is offline   Reply With Quote

 


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
How to get the velocity field from the pressure field Hermano Main CFD Forum 2 November 29, 2011 08:32
Calculate forces without hydrostatic pressure geir_oye FLUENT 4 November 12, 2009 09:12
Does star cd takes reference pressure? monica Siemens 1 April 19, 2007 11:26
Neumann pressure BC and velocity field Antech Main CFD Forum 0 April 25, 2006 02:15
what the result is negatif pressure at inlet chong chee nan FLUENT 0 December 29, 2001 05:13


All times are GMT -4. The time now is 19:51.