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

MRF SimpleFoam - Wind Turbine Blade - Underestimating forces

Register Blogs Community New Posts Updated Threads Search

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   October 28, 2021, 13:00
Post MRF SimpleFoam - Wind Turbine Blade - Underestimating forces
  #1
New Member
 
Join Date: Sep 2021
Posts: 6
Rep Power: 5
hgropelli is on a distinguished road
Hello,

I am trying to simulate in a steady flow a 15 MW IEA turbine blade in a 120° axisymmetric wedge domain.
The size of the domain is 2 radii in front of the blade, 5 radii behind and 1.5 radii high.
There are 2 regions in the mesh: Rotor that moves at -0.76 rad/s, and external wedge (cunha_externa) that is stationary.
The moment at x, converged at -1.72E+6Nm. Whereas by the technical parameters approx. -5.7E+6Nm is expected (power coefficient (cp) = 0.489).
I don't know what I am doing wrong, with the dynamic mesh method and transient solver I achieved the results.
I'm using the simplefoam solver with mrf.
The turbulence model is K Omega SST.
Definition of iea 15mw: https://www.nrel.gov/docs/fy20osti/75698.pdf
Mesh and results: https://drive.google.com/drive/folde...bC?usp=sharing
I tried to simulate a in a similar way of the case iv from this article (https://doi.org/10.1016/j.renene.2018.07.062)
Boundaries:
U
Code:
/*--------------------------------*- C++ -*----------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  2106                                  |
|   \\  /    A nd           | Website:  www.openfoam.com                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version     2.0;
    format      binary;
    arch        "LSB;label=32;scalar=64";
    class       volVectorField;
    location    "0";
    object      U;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

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

internalField   uniform (-10 0 0);

boundaryField
{
    pa
    {
        type            noSlip;
    }
    "(lateral|entrada)"
    {
        type            fixedValue;
        value           $internalField;
    }
    saida
    {
        type            zeroGradient;
    }
    "(lado0|lado120)"
    {
        type            cyclicAMI;
    }
	"(AMI_1|AMI_2)"
    {
        type            cyclicAMI;
    }
}

// ************************************************************************* //
p
Code:
/*--------------------------------*- C++ -*----------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  2106                                  |
|   \\  /    A nd           | Website:  www.openfoam.com                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version     2.0;
    format      binary;
    arch        "LSB;label=32;scalar=64";
    class       volScalarField;
    location    "0";
    object      p;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

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

internalField   uniform 0;

boundaryField
{
    "(pa|lateral|entrada)"
    {
        type            zeroGradient;
    }
    saida
    {
        type            fixedValue;
        value           $internalField;
    }
    "(lado0|lado120)"
    {
        type            cyclicAMI;
    }
	"(AMI_1|AMI_2)"
    {
        type            cyclicAMI;
    }
}


// ************************************************************************* //
k
Code:
/*--------------------------------*- C++ -*----------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  2106                                  |
|   \\  /    A nd           | Website:  www.openfoam.com                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version     2.0;
    format      binary;
    arch        "LSB;label=32;scalar=64";
    class       volScalarField;
    location    "0";
    object      k;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

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

internalField   uniform 0.06;

boundaryField
{
    pa
    {
        type            kqRWallFunction;
        value           $internalField;
    }
    "(entrada|lateral)"
    {
        type            fixedValue;
        value           $internalField;
    }
    saida
    {
        type            zeroGradient;
    }
    "(lado0|lado120)"
    {
        type            cyclicAMI;
    }
	"(AMI_1|AMI_2)"
    {
        type            cyclicAMI;
    }
}


// ************************************************************************* //
omega
Code:
/*--------------------------------*- C++ -*----------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  2106                                  |
|   \\  /    A nd           | Website:  www.openfoam.com                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version     2.0;
    format      binary;
    arch        "LSB;label=32;scalar=64";
    class       volScalarField;
    location    "0";
    object      omega;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

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

internalField   uniform 4.5939;

boundaryField
{
    pa
    {
        type            omegaWallFunction;
        value           $internalField;
    }
    "(entrada|lateral)"
    {
        type            fixedValue;
        value           $internalField;
    }
    saida
    {
        type            zeroGradient;
    }
    "(lado0|lado120)"
    {
        type            cyclicAMI;
    }
	"(AMI_1|AMI_2)"
    {
        type            cyclicAMI;
    }
}


// ************************************************************************* //
nut
Code:
/*--------------------------------*- C++ -*----------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  2106                                  |
|   \\  /    A nd           | Website:  www.openfoam.com                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version     2.0;
    format      binary;
    arch        "LSB;label=32;scalar=64";
    class       volScalarField;
    location    "0";
    object      nut;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

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

internalField   uniform 0;

boundaryField
{
    pa
    {
        type            nutkWallFunction;
        value           $internalField;
    }
    "(entrada|saida|lateral)"
    {
        type            calculated;
        value           $internalField;
    }
    "(lado0|lado120)"
    {
        type            cyclicAMI;
    }
	"(AMI_1|AMI_2)"
    {
        type            cyclicAMI;
    }
}


// ************************************************************************* //
MRFProperties
Code:
/*--------------------------------*- C++ -*----------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  v2106                                 |
|   \\  /    A nd           | Website:  www.openfoam.com                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version     2.0;
    format      ascii;
    class       dictionary;
    object      MRFProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

MRF1
{
    cellZone    Rotor_zone;
    active      yes;

    // Fixed patches (by default they 'move' with the MRF zone)
    nonRotatingPatches (AMI_1 AMI_2);
	origin      (0 0 0);
	axis        (1 0 0);
	omega       0.769230769231; // rad/s
}


// ************************************************************************* //
fvSchemes
Code:
/*--------------------------------*- C++ -*----------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  5                                     |
|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
|    \\/     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 linearUpwind grad(U);
	div(phi,omega)	Gauss upwind;
	div(phi,k)	Gauss upwind;
	div((nuEff*dev2(T(grad(U)))))	Gauss linear;
}

laplacianSchemes
{
	default	Gauss linear corrected;
}

snGradSchemes
{
	default	corrected;
}

wallDist
{
	method	meshWave;
}


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

solvers
{
    p
    {
        solver          GAMG;
        tolerance       1e-7;
        relTol          0;
        smoother        GaussSeidel;
		cacheAgglomeration no;
		maxIter	500;
    }

    "(U|k|omega)"
    {
        solver          smoothSolver;
        smoother        GaussSeidel;
        tolerance       1e-7;
        relTol          0;
        nSweeps         2;
    }
}
SIMPLE
{
    nNonOrthogonalCorrectors 0;
    consistent      yes;
	pRefCell	0;
	pRefValue	0;
	residualControl
	{
	p	1e-6;
	"(U|k|omega)"	1e-6;
	}
}

relaxationFactors
{
    fields
    {
        p               0.3;
    }
    equations
    {
        "(U|k|omega)"   0.7;
    }
}


// ************************************************************************* //
forcesImcompressible
Code:
/*--------------------------------*- C++ -*----------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  5                                     |
|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version     2.0;
    format      ascii;
    class       dictionary;
    object      forcesIncompressible;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

forces
{
	functionObjectLibs 	("libforces.so");
	
    patches     		(pa);
    CofR        		(3.770655 0 0);
    pitchAxis   		(0 0 0);
	writeControl		adjustableRunTime;
	writeInterval		1;
	type            	forces;
	pName           	p;
	UName           	U;
	rho         		rhoInf; // Incompressible solver
	rhoInf      		1.18732;
	log             	true;
}

// ************************************************************************* //
checkMesh
Code:
/*---------------------------------------------------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  2106                                  |
|   \\  /    A nd           | Website:  www.openfoam.com                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
Build  : _7b82832f-20210625 OPENFOAM=2106
Arch   : "LSB;label=32;scalar=64"
Exec   : checkMesh
Date   : Oct 28 2021
Time   : 12:36:07
Host   : DESKTOP-H7B8IOF
PID    : 510
I/O    : uncollated
Case   : iea_15mw
nProcs : 1
trapFpe: Floating point exception trapping enabled (FOAM_SIGFPE).
fileModificationChecking : Monitoring run-time modified files using timeStampMaster (fileModificationSkew 5, maxFileModificationPolls 20)
allowSystemOperations : Allowing user-supplied system call operations

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
Create time

Create mesh for time = 0

Time = 0

Mesh stats
    points:           15087385
    faces:            43973155
    internal faces:   43441104
    cells:            14447935
    faces per cell:   6.050294
    boundary patches: 8
    point zones:      0
    face zones:       0
    cell zones:       2

Overall number of cells of each type:
    hexahedra:     13867146
    prisms:        153181
    wedges:        0
    pyramids:      0
    tet wedges:    129
    tetrahedra:    0
    polyhedra:     427479
    Breakdown of polyhedra by number of faces:
        faces   number of cells
            4   8873
            5   7662
            6   65466
            7   150255
            8   20204
            9   117862
           10   552
           11   119
           12   50013
           13   2
           14   19
           15   6408
           18   44

Checking topology...
    Boundary definition OK.
    Cell to face addressing OK.
    Point usage OK.
    Upper triangular ordering OK.
    Face vertices OK.
   *Number of regions: 2
    The mesh has multiple regions which are not connected by any face.
  <<Writing region information to "0/cellToRegion"
  <<Writing region 0 with 4975517 cells to cellSet region0
  <<Writing region 1 with 9472418 cells to cellSet region1

Checking patch topology for multiply connected surfaces...
                   Patch    Faces   Points                  Surface topology
                 entrada     8482     8557  ok (non-closed singly connected)
                   saida     8482     8557  ok (non-closed singly connected)
                   lado0    46631    48006  ok (non-closed singly connected)
                 lado120    46736    48116  ok (non-closed singly connected)
                 lateral    68880    69465  ok (non-closed singly connected)
                      pa   274482   283476  ok (non-closed singly connected)
                   AMI_2    39182    39181  ok (non-closed singly connected)
                   AMI_1    39176    39405  ok (non-closed singly connected)

Checking faceZone topology for multiply connected surfaces...
    No faceZones found.

Checking basic cellZone addressing...
                CellZone        Cells       Points       VolumeBoundingBox
          cunha_externa      4975517      5070077 2.821492e+07 (-600 -155.8846 -3.64628e-16) (240 155.8846 180)
             Rotor_zone      9472418     10017308     282470.2 (-4.006414 -112.5832 -1.408003e-05) (12.00412 112.5835 130)

Checking geometry...
    Overall domain bounding box (-600 -155.8846 -1.408003e-05) (240 155.8846 180)
    Mesh has 3 geometric (non-empty/wedge) directions (1 1 1)
    Mesh has 3 solution (non-empty) directions (1 1 1)
    Boundary openness (2.330773e-17 7.088203e-16 5.225327e-14) OK.
    Max cell openness = 3.308378e-15 OK.
    Max aspect ratio = 66.99643 OK.
    Minimum face area = 3.874454e-06. Maximum face area = 8.968646.  Face area magnitudes OK.
    Min volume = 1.148255e-06. Max volume = 11.81478.  Total volume = 2.849739e+07.  Cell volumes OK.
    Mesh non-orthogonality Max: 63.7486 average: 4.455527
    Non-orthogonality check OK.
    Face pyramids OK.
    Max skewness = 3.998489 OK.
    Coupled point location match (average 0) OK.

Mesh OK.

End
Thank you for the advice,
Attached Images
File Type: jpg mesh1.jpg (19.2 KB, 68 views)
File Type: jpg U_90.jpg (29.3 KB, 55 views)
File Type: jpg U_90_close.jpg (23.3 KB, 44 views)
File Type: jpg U_90x.jpg (21.8 KB, 41 views)
File Type: jpg U_90y.jpg (22.5 KB, 39 views)
hgropelli is offline   Reply With Quote

Old   March 16, 2022, 07:32
Default
  #2
New Member
 
Join Date: Sep 2021
Posts: 6
Rep Power: 5
hgropelli is on a distinguished road
Solution:
Increase the MRF domain (non inertial) to 2 blade diameters of lenght and 2 blade diameters of height with the blade in the middle
Attached Images
File Type: jpg q001velocitycontour_yplane-min.jpg (42.0 KB, 56 views)
File Type: jpg p07-min.jpg (23.8 KB, 37 views)
hgropelli is offline   Reply With Quote

Reply

Tags
mrf, simplefoam, wedge 120°, wind turbine blade


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
Overset meshing with rotational periodic BC for a wind turbine blade Islam Abdelghafar STAR-CCM+ 9 February 23, 2022 12:25
Problem with forces and moment calculated for wind turbine blade using simpleFoam mostafa kamal OpenFOAM Running, Solving & CFD 2 September 21, 2021 18:33
3D wind turbine blade analysis mrswordf1sh FLUENT 0 April 4, 2015 21:17
Calculating lift force of a wind turbine blade problem LittleBart CFX 4 June 29, 2011 03:33
[Other] ANSYS CFX-Meshing problem of a wind turbine blade Zoe ANSYS Meshing & Geometry 1 July 14, 2010 03:02


All times are GMT -4. The time now is 15:12.