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

Simulation of Wind Turbine with OpenFoam

Register Blogs Community New Posts Updated Threads Search

Like Tree8Likes

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   January 24, 2014, 06:23
Default wrong results ...
  #21
Member
 
Tobias Adam
Join Date: Oct 2013
Location: Siegen
Posts: 55
Rep Power: 13
Tobias Adam is on a distinguished road
Hello everyone :-)

The results of my simulation are not as satisfying as they could be.
I compared my cp-values over the Blade with a simulation performed with fluent and got much bigger results! Furthermore my power coefficient is nearly as high as the Betz coefficient what seems very unrealistic.

In a post above it was mentioned that SRFSimpleFoam is not very good for high rpm!
Does anyone know some alternatives to SRFSimpleFoam for my simulation of one Blade of the HAWT? What about the DYMFoam solver?
Or maybe someone can share some setup files with me, or would like to discuss mine?

I īd like to get satisfying results before I start the next step of my Bachelor-Thesis and simulate the whole Turbine with the mast.


Thanks in advance for your help

Tobias
Tobias Adam is offline   Reply With Quote

Old   January 24, 2014, 06:35
Default
  #22
Member
 
Julian Langowski
Join Date: May 2011
Location: Bremen, Germany
Posts: 91
Rep Power: 15
Ruli is on a distinguished road
Hi,
I am working on a rotor blade simulation (MRF approach, 1.5 MW class), too. I have got a simulation running right now, if the results are promising, I am glad to get in contact with you.

Bye
Julian
__________________
πάντα ῥεῖ - Heraclitus
Ruli is offline   Reply With Quote

Old   January 24, 2014, 07:15
Default
  #23
Member
 
Tobias Adam
Join Date: Oct 2013
Location: Siegen
Posts: 55
Rep Power: 13
Tobias Adam is on a distinguished road
Hi Julian,
do you simulate three blades or just one?
Iīd like to test the MRF solver for my case too! At least when I start the big simulation with mast and rotor!
Iīm doing the simulation on an experimental Turbine of my University. But the setup for the cases should be the same!

Greets Tobias
Tobias Adam is offline   Reply With Quote

Old   January 24, 2014, 07:33
Default
  #24
Member
 
Julian Langowski
Join Date: May 2011
Location: Bremen, Germany
Posts: 91
Rep Power: 15
Ruli is on a distinguished road
Quote:
Originally Posted by Tobias Adam View Post
Hi Julian,
do you simulate three blades or just one?
Iīd like to test the MRF solver for my case too! At least when I start the big simulation with mast and rotor!
Dear Tobias,
I am simulating 1 blade without nacelle etc., as I already am at 10 Mio. cells and can`t afford more. If you want to simulate the whole HAWT including tower etc. I guess MRF isn`t the right approach, as the blade isn`t really moving, so interaction between blade and tower will not be calculated.

Best regards
Julian
__________________
πάντα ῥεῖ - Heraclitus
Ruli is offline   Reply With Quote

Old   January 24, 2014, 08:20
Default
  #25
Senior Member
 
Elvis
Join Date: Mar 2009
Location: Sindelfingen, Germany
Posts: 620
Blog Entries: 6
Rep Power: 24
elvis will become famous soon enough
Hi,
a little bit off topic to those other post,
First Symposium on OpenFOAM in Wind Energy http://www.forwind.de/sowe/Site/Program.html
fumiya and SailorLiu like this.
elvis is offline   Reply With Quote

Old   April 1, 2014, 10:54
Default Simulation of horizontal-axis-wind-turbine
  #26
Member
 
Tobias Adam
Join Date: Oct 2013
Location: Siegen
Posts: 55
Rep Power: 13
Tobias Adam is on a distinguished road
Hello dear Elvis

Did you already simulate a Windturbine?

I would like to get some tips and tricks ore some guidelines from your experience, or some setup files of simulations you already performed so that I could compare your case with mine.
My SRFSimpleFoam and SimpleFoam cases poorely donīt converge and I donīt really know why...
I'd be glad for any answer!

Best reagards

Tobias
Tobias Adam is offline   Reply With Quote

Old   April 1, 2014, 10:57
Default
  #27
Member
 
Julian Langowski
Join Date: May 2011
Location: Bremen, Germany
Posts: 91
Rep Power: 15
Ruli is on a distinguished road
Dear Tobias,
how do your residuals (and probe values of U or p) look like over the simulation iterations?

As you know, I am working on MRF WT simulation, too. My simulation does not converge perfectly, as well (residuals around 10^-4). I am quite sure, it is because of the partly unsteady nature of the flow (separation in root region, ...) which is not considered in SIMPLE.

Best regards
Julian
__________________
πάντα ῥεῖ - Heraclitus
Ruli is offline   Reply With Quote

Old   April 7, 2014, 08:15
Default
  #28
Member
 
Tobias Adam
Join Date: Oct 2013
Location: Siegen
Posts: 55
Rep Power: 13
Tobias Adam is on a distinguished road
Hey Julian ,
With MRF I got jumping and fluctuating Residuals for omega and k. First it just does not converge, later it crashes because of these parameters...
SRF does converge very well, but gives nonphysical results...

Did you ever try Pimple with fv-options?

Best regards Tobi
Tobias Adam is offline   Reply With Quote

Old   April 7, 2014, 08:38
Default
  #29
Member
 
Tobias Adam
Join Date: Oct 2013
Location: Siegen
Posts: 55
Rep Power: 13
Tobias Adam is on a distinguished road
Hey Julian :-)
With MRF I got jumping and fluctuating Residuals for omega and k. First it just does not converge, later it crashes because of these parameters...
SRF does converge very well, but gives nonphysical results...

Did you ever try Pimple with fv-options?

Best regards Tobi
Tobias Adam is offline   Reply With Quote

Old   April 7, 2014, 09:24
Default
  #30
Member
 
Julian Langowski
Join Date: May 2011
Location: Bremen, Germany
Posts: 91
Rep Power: 15
Ruli is on a distinguished road
Yes,

yes, I did use PIMPLE in PISO-mode with fvOptions. However, for SIMPLE I have quite low relaxation factors (0.01) for k and omega.

Best regards
Julian
__________________
πάντα ῥεῖ - Heraclitus
Ruli is offline   Reply With Quote

Old   April 8, 2014, 04:39
Default
  #31
thg
Member
 
Thorsten Grahs
Join Date: Oct 2009
Posts: 61
Rep Power: 17
thg is on a distinguished road
Hi Tobias,

a) Use upwind scheme for the turbulent quantaties
(the convective terms i.e. div is essential)

b) The mesh is essential...chekc y+ like I already mentioned.

c) Most ESSENTIAL...
right initialisation for the turbulent quantaties, f.i.

http://http://www.cfd-online.com/For...n-model-2.html


http://support.esi-cfd.com/esi-users/turb_parameters/


cheers
ThG
kiddmax, SailorLiu and Tobias Adam like this.
thg is offline   Reply With Quote

Old   May 12, 2014, 06:39
Default
  #32
Member
 
Tobias Adam
Join Date: Oct 2013
Location: Siegen
Posts: 55
Rep Power: 13
Tobias Adam is on a distinguished road
Hello

Actually I got quite good results with a first case that had a very small enclosure.
On the next simulation with a bigger enclosure the flow looks good in paraview, but the residuals for p stay very high ~0,06.

@ Julian: Did you finish your thesis?
Would you mind to share your Pimple/Piso-settings with me?
Best regards Tobi

Last edited by Tobias Adam; May 12, 2014 at 09:36.
Tobias Adam is offline   Reply With Quote

Old   May 16, 2014, 07:04
Default
  #33
Member
 
Julian Langowski
Join Date: May 2011
Location: Bremen, Germany
Posts: 91
Rep Power: 15
Ruli is on a distinguished road
Dear Tobi,
yes, I finished my thesis.

Here is my fvSchemes file:

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

ddtSchemes // Zeitliche Ableitung
{
    default                     steadyState; //backward;  //alternativ CrankNicholson //steadyState
}

gradSchemes
{
    default                     none;
    grad(p)                     cellMDLimited Gauss linear 0.5; //cellMDLimited Gauss linear 0.5;
    grad(U)                     cellMDLimited Gauss linear 0.5;
    grad(omega)                cellMDLimited Gauss linear 0.5;
    grad(k)                cellMDLimited Gauss linear 0.5;
    curl(U)                 cellMDLimited Gauss linear 0.5;
}

divSchemes
{
    default                     none;
    div(phi,U)                  bounded Gauss linearUpwind grad(U);     //bounded Gauss upwind; //bounded Gauss linearUpwind grad(U); 
    div(phi,k)                  bounded Gauss linearUpwind grad(k);      //bounded Gauss upwind; //bounded Gauss linearUpwind grad(k);
    div(phi,omega)             bounded Gauss linearUpwind grad(omega); //bounded Gauss upwind; //bounded Gauss linearUpwind grad(omega);
    div((nuEff*dev(T(grad(U)))))     Gauss linear;
}

laplacianSchemes
{
    default                     none;
    laplacian(DomegaEff,k)         Gauss linear corrected;
    laplacian(DomegaEff,omega)         Gauss linear corrected;
    laplacian(DkEff,k)             Gauss linear corrected;
    laplacian(DepsilonEff,epsilon)     Gauss linear corrected;
    laplacian(nuEff,U)             Gauss linear corrected;
    laplacian((1|A(U)),p)         Gauss linear corrected;
}

interpolationSchemes
{
    default                     none;                    //linear bei PIMPLE
    interpolate(HbyA)            linear;
    interpolate(U)              linear;
}

snGradSchemes
{
default                    none;
}

fluxRequired
{
    default                     no;
    p                           ;
}


// ************************************************************************* //
and fvSolution
Code:
/*--------------------------------*- C++ -*----------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  2.2.2                                 |
|   \\  /    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.1;
        smoother            GaussSeidel;
        nPreSweeps          0;
        nPostSweeps         2;
        cacheAgglomeration     true;
        nCellsInCoarsestLevel     10;
        agglomerator        faceAreaPair;
        mergeLevels         1;
    }

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

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

    omega
    {
        solver          smoothSolver;
        smoother        GaussSeidel;
        nSweeps         1;
        tolerance       1e-8;
        relTol          0.1;
    }
/*
    pFinal
    {
        solver          PCG;
        preconditioner  DIC;
        tolerance       1e-06;
        relTol          0;
    }

    "(U|k|omega)Final"
    {
        $U;
        tolerance       1e-6;
        relTol          0;
    }*/
}


SIMPLE
{
    nNonOrthogonalCorrectors 5;  //8

    residualControl
    {
        p               1e-10;  
        U               1e-9;
        k           1e-8;
    k           1e-8;
    }
}

relaxationFactors
{
    fields
    {
        p               0.3;
    }
    equations
    {
        U               0.7;
        k               0.01;
        omega           0.01;
    }
}

/*
PIMPLE
{
    nOuterCorrectors 1;
    nCorrectors     3;
    nNonOrthogonalCorrectors 3;
}*/


// ************************************************************************* //
I used these settings with SIMPLE, not sure if also with PIMPLE. Try it, if it does not work, I will search on.

Best regards
Julian
__________________
πάντα ῥεῖ - Heraclitus
Ruli is offline   Reply With Quote

Old   June 4, 2014, 08:57
Default MRF and Literature
  #34
Member
 
Tobias Adam
Join Date: Oct 2013
Location: Siegen
Posts: 55
Rep Power: 13
Tobias Adam is on a distinguished road
Thank you very much Julian,

I allready got this from you earlier, but it helped me a lot for my simulations.

A question to everyone:
Does anybody have got literature explaining the Mrf-principle ( like corriolis-term added to NS-equations and so on)
I want to explain it and compare it with the pympledymfoam-solver.
A further question:
Does it make sense to use MRF for blade-tower interaction as start solution for pympledym or is a steady state solution for a very unsteady too bad?

Best Regards Tobi
Tobias Adam is offline   Reply With Quote

Old   June 5, 2014, 10:36
Default
  #35
Member
 
Fatih Ertinaz
Join Date: Feb 2011
Location: Istanbul
Posts: 64
Rep Power: 15
fertinaz is on a distinguished road
Hi Tobias,

this document contains brief explanation for the steady and unsteady simulations with rotating regions:

http://www.slideshare.net/fumiyanoza...using-openfoam

I guess using converged results of a steady-state solver as an initial condition for the transient case is not a bad idea. If that was what you asked.

// Fatih.
Tobias Adam likes this.
fertinaz is offline   Reply With Quote

Old   June 24, 2014, 11:01
Default
  #36
Member
 
Tobias Adam
Join Date: Oct 2013
Location: Siegen
Posts: 55
Rep Power: 13
Tobias Adam is on a distinguished road
Hi Fatih,
sorry for my late reply...

Thanks for this paper, itīs very helpful. I would have been really happy if I got it at the beginning of my thesis:-)
Yes, this was what I asked, and itīs definitely a good idea. The pimpleDym-solver is much slower than simple.
One question to transient simulations: Is there a general guideline for the maximal possible courant number or is it case dependent at which co-number the case becomes instable?

Best regards Tobi

P.s. I use SimpleFoam+fv options even for Single-Rotating-Frames, because SRFSimple did not give good results for my case.
Tobias Adam is offline   Reply With Quote

Old   June 24, 2014, 19:08
Default
  #37
Member
 
Fatih Ertinaz
Join Date: Feb 2011
Location: Istanbul
Posts: 64
Rep Power: 15
fertinaz is on a distinguished road
There is no general rule for determining the max. Courant number as far as I know since it is mesh dependent.

What I would do is to set maxCo as 1 and select a small enough time-step initially and then let OpenFoam adjust it during runTime. You can then try to increase maxCo gradually to figure out what would really be the upper-limit you can use without losing the stability.
fertinaz is offline   Reply With Quote

Old   July 24, 2014, 09:57
Default
  #38
Member
 
Tobias Adam
Join Date: Oct 2013
Location: Siegen
Posts: 55
Rep Power: 13
Tobias Adam is on a distinguished road
I found out something new, which might help others.

I tried to map fields from my steady state case to the transient case.
It didnīt work, so I just copied the time folder from steady-state and put it to the transient case. I thought it should work, as it has the same mesh. But it didnīt, because the rotating-mesh-dict rotates the area of the blade if it does not start with time 0.
So the start-field for the transient simulation was useless! To solve the problem, one easily can change the name of the time folder to 0 and delete the uniform-folder inside of this folder.
Then the transient simulation starts with the right starting position, with converged results as initial condition.

Best
Tobi
coolcrasher likes this.
Tobias Adam is offline   Reply With Quote

Old   August 5, 2014, 11:07
Default PimpleDym Simulation
  #39
Member
 
Tobias Adam
Join Date: Oct 2013
Location: Siegen
Posts: 55
Rep Power: 13
Tobias Adam is on a distinguished road
They PimpleDymSimulation runs quite good, but the longer the simulation goes the bigger the moment of the blade becomes.
The residuals look very good, the stay low in each time step. I used Co=4 as it seemed to be stable. The only thing bothering me is the Moment increasing more and more. From start-value ~10Nm to 15Nm over a very long time to ~30Nm now in a very short time...
Is it possible that the numerical schemes are wrong, and therefore the moment is calculated wrong?
The setting and Boundary conditions are similar to the simple case, I just changed fv schemes and fv solutions ....

Best regards

Tobi
Tobias Adam is offline   Reply With Quote

Old   September 1, 2014, 07:58
Default
  #40
Member
 
Ye Zhang
Join Date: Dec 2009
Location: Delft,Netherland
Posts: 92
Rep Power: 16
kiddmax is on a distinguished road
Dear mad,

Could you please send me this paper? I can not download it though the link.

Thanks a lot!

Best regards
Ye
kiddmax 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
Wind turbine simulation Saturn CFX 60 July 17, 2024 06:45
Compute the power of small wind turbine. Luolin FLUENT 9 May 27, 2013 15:52
Sliding mesh vs MRF in axial turbine simulation Vito FLUENT 3 December 21, 2011 05:57
Wind turbine domains and boundaries siardica CFX 3 July 20, 2009 23:34
Wind Turbine Modelling Neil Campbell Main CFD Forum 1 November 10, 1998 20:03


All times are GMT -4. The time now is 07:42.