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

Problem with forces and moment calculated for wind turbine blade using simpleFoam

Register Blogs Community New Posts Updated Threads Search

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   December 16, 2019, 12:29
Default Problem with forces and moment calculated for wind turbine blade using simpleFoam
  #1
New Member
 
mostafa kamal
Join Date: Jun 2019
Posts: 16
Rep Power: 7
mostafa kamal is on a distinguished road
hello every one
iam trying to simulate flow on horizontal axis wind turbine

1- first i made the mesh for 1 blade with periodic boundary conditions using ansys mesher as shown in (1.png ) and i made 2 zones (1 stationary +1 rotating) and i run the case on ansys fluent and it run successfully.

2- in openfoam i converted the msh file to foam by fluent3Dmeshtofoam and it was converted but without the periodic boundary condition(it was walls) so i used createpatch to convert this walls(the side faces) to periodic (cyclic).

3- i checked the mesh and was ok (2.png)

4- i used Simplefoam with MRF option and run the solver with these fvoptions and fvschemes


fvschemes:
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: 6
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "system";
object fvSchemes;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

ddtSchemes
{
default steadyState;
}

gradSchemes
{
default Gauss linear;
}

divSchemes
{
default none;
div(phi,U) bounded Gauss linearUpwindV grad(U);
div(phi,k) bounded Gauss upwind;
div(phi,epsilon) bounded Gauss upwind;
div(phi,omega) bounded Gauss upwind;
div(phi,R) bounded Gauss upwind;
div(phi,nuTilda) bounded Gauss upwind;
div(R) Gauss linear;// always Gauss linear
div((nuEff*dev2(T(grad(U))))) Gauss linear; // always Gauss linear
}

laplacianSchemes
{
default Gauss linear corrected;
}
interpolationSchemes
{
default linear;
}

snGradSchemes
{
default corrected;
}
fluxRequired
{
default no;
p;
}
wallDist
{
method meshWave;
}

// ************************************************** *********************** //

fvoptions:
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: 6
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "system";
object fvSolution;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

solvers
{
p
{
solver GAMG;
tolerance 1e-08;
relTol 0.05;
smoother GaussSeidel;
nCellsInCoarsestLevel 20;
}

U
{
solver smoothSolver;
smoother GaussSeidel;
nSweeps 2;
tolerance 1e-07;
relTol 0.1;
}

k
{
solver smoothSolver;
smoother GaussSeidel;
nSweeps 2;
tolerance 1e-07;
relTol 0.1;
}

epsilon
{
solver smoothSolver;
smoother GaussSeidel;
nSweeps 2;
tolerance 1e-07;
relTol 0.1;
}
omega
{
solver smoothSolver;
smoother GaussSeidel;
nSweeps 2;
tolerance 1e-07;
relTol 0.1;
}

SIMPLE
{
nNonOrthogonalCorrectors 3;//0
pRefCell 0;
pRefValue 0;

residualControl // values of residuals to stop at
{
p 1e-5;
U 1e-5;
k|epsilon|omega 1e-5;
}
}

relaxationFactors
{
fields
{
p 0.3;
}
equations
{
U 0.5;
k 0.5;
epsilon 0.5;
omega 0.5;
}
}

// ************************************************** *********************** //

controlDict:
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: 6
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "system";
object controlDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

application simpleFoam;

startFrom latestTime;

startTime 0;

stopAt endTime;

endTime 1000;

deltaT 1;

writeControl timeStep;

writeInterval 50;

purgeWrite 0;

writeFormat ascii;

writePrecision 6;

writeCompression off;

timeFormat general;

timePrecision 6;

runTimeModifiable true;

functions
{
// #includeFunc streamlines
#includeFunc residuals

forces
{
type forces;
functionObjectLibs ("libforces.so");
writeControl timeStep;
writeInterval 50;
patches (blade_);
pname p;
Uname U;
rho rhoInf;
rhoInf 1.205;

// Reference pressure [Pa]
pRef 0;
// Include porosity effects?
porosity no;
log true;
CofR (0 0 0); //
}
yPlus
{
type yPlus;
functionObjectLibs ("libfieldFunctionObjects.so");
writeControl timeStep;
writeInterval 50;
}

};

// ************************************************** *********************** //
i used komega SST and this is the MRF file:
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: 6
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "constant";
object MRFProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

MRF1
{
cellZone rotatingzone;
active yes;

// Fixed patches (by default they 'move' with the MRF zone)
nonRotatingPatches ();

origin (0 0 0);
axis (0 1 0);
omega -72;//-72
}

// ************************************************** *********************** //

boundrary conditions:
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: 6
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volVectorField;
object U;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

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

internalField uniform (0 7.6 0);

boundaryField
{
upper
{
type fixedValue;
value uniform (0 7.6 0);
}
inlet
{
type fixedValue;
value uniform (0 7.6 0);
}
outlet
{
type zeroGradient;
}
blade_
{
type noSlip;
}


cyclic_half0-stationary
{
type cyclic;
}
cyclic_half0-rotating
{
type cyclic;
}


cyclic_half1-stationary
{
type cyclic;
}
cyclic_half1-rotating
{
type cyclic;
}
}

// ************************************************** *********************** //
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: 6
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
object p;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

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

internalField uniform 0;

boundaryField
{
upper
{
type zeroGradient;
}
inlet
{
type zeroGradient;
}
outlet
{
type fixedValue;
value uniform 0;
}
blade_
{
type zeroGradient;
}

cyclic_half0-stationary
{
type cyclic;
}
cyclic_half0-rotating
{
type cyclic;
}


cyclic_half1-stationary
{
type cyclic;
}
cyclic_half1-rotating
{
type cyclic;
}
}

// ************************************************** *********************** //
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: 6
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
location "0";
object omega;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

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

internalField uniform 9.553009996854394;

boundaryField
{

upper
{
type fixedValue;
value uniform 9.553009996854394;
}
inlet
{
type fixedValue;
value uniform 9.553009996854394;
}
outlet
{
type inletOutlet;
inletValue uniform 3.184336665618132;
value uniform 3.184336665618132;
}
blade_
{
type omegaWallFunction;
value uniform 3.184336665618132;//60 from paper
}

cyclic_half0-stationary
{
type cyclic;
}
cyclic_half0-rotating
{
type cyclic;
}


cyclic_half1-stationary
{
type cyclic;
}
cyclic_half1-rotating
{
type cyclic;
}
}


// ************************************************** *********************** //
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: 6
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
location "0";
object k;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

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

internalField uniform 0.009126;

boundaryField
{
upper
{
type fixedValue;
value uniform 0.009126;
}
inlet
{
type fixedValue;
value uniform 0.009126;
}
outlet
{
type inletOutlet;
inletValue uniform 0.009126;
value uniform 0.009126;
}
blade_
{
type kqRWallFunction;
value uniform 0.009126;//0.4959 from paper
}
cyclic_half0-stationary
{
type cyclic;
}
cyclic_half0-rotating
{
type cyclic;
}
cyclic_half1-stationary
{
type cyclic;
}
cyclic_half1-rotating
{
type cyclic;
}
}
// ************************************************** *********************** //
and the residuals is shown in (kwsst.png).

the problem is the moment calculated from the forces library in contDict = (about 4734=4408+334 pressure +viscous moment) isnt right compared to experimental value=360 N.m from paper and also validated with fluent
and another thing the values and signs of the forces calculated (force_x=1507 is positive and force_y= -9265.4 is negative ) i think they are wrong.

(i also tried to make inflation around blade for boundary layer but it was the same problem)


i don't know where is the problem and i am stuck for weeks till now and iam trying to know the problem. Is it the boundary conditions of turbulence parameters (k,omega) or it is the fvsolution file must be modified or the MRF file must be modified or the problem could be in the force library?

i appreciate if any one can help or give me some hints
thanks for reading the post😃
Attached Images
File Type: png 1.png (177.0 KB, 44 views)
File Type: jpg 2.jpg (77.5 KB, 35 views)
File Type: png 3.png (111.6 KB, 37 views)
File Type: jpg kwsst.jpg (55.7 KB, 38 views)
mostafa kamal is offline   Reply With Quote

Old   September 21, 2021, 04:01
Default Any news?
  #2
New Member
 
Guillén Campaña Alonso
Join Date: Jun 2021
Posts: 6
Rep Power: 5
gcampana is on a distinguished road
Dear Mostafa,


Did you finally came up to what was wrong? I'm kinda facing the same issues. I have performed an MRFSimpleFoam simulation of a wind turbine and my torque results are lower than experimental and other CFD simulations results.


Thank you very much!
gcampana is offline   Reply With Quote

Old   September 21, 2021, 18:33
Default
  #3
Member
 
Join Date: Feb 2020
Posts: 79
Rep Power: 6
Fouch is on a distinguished road
Hi,


I would suggest to reduce non-orthogonality (66° is definitly to much) and try to avoid upwind in the fvScheme to reduce the diffusion.



Cheers
Fouch is offline   Reply With Quote

Reply


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
Help! problems in calculating forces with SimpleFoam DLC OpenFOAM 3 April 26, 2022 00:43
How to calculate hydrodynamic forces and moment? Lazarus STAR-CCM+ 1 August 31, 2017 05:23
Valve Design Flow Forces, Report moment Mans1234 FLUENT 1 August 10, 2015 18:28
Waterwheel shaped turbine inside a pipe simulation problem mshahed91 CFX 3 January 10, 2015 12:19
Center of pressure (confirmation/question) scipy FLUENT 2 March 5, 2012 07:54


All times are GMT -4. The time now is 16:22.