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

VAWT Sliding Mesh - Negative Torque

Register Blogs Community New Posts Updated Threads Search

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   August 5, 2018, 10:59
Default VAWT Sliding Mesh - Negative Torque
  #1
New Member
 
Tommaso Pascon
Join Date: Mar 2016
Posts: 18
Rep Power: 10
Pervispasco is on a distinguished road
Hello everyone,

I'm trying to simulate a 2D VAWT based on the following paper:

http://docsdrive.com/pdfs/ansinet/jest/2011/302-312.pdf

Turbine diameter: 8m
NACA2415, chord length 1m;
Vfree = 4 m/s;
TSR = 1.5 = omega

Turbulence model RNG Kepsilon with wall function.

I see that I have similar values for the highest torque (around 80Nm) while I also get negative values in some regions. Since I'm noticing this as a common behavior in all my simulations, what could be the cause of this negative torque?



If someone can give me some tips would be much appreciated.

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

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

internalField   uniform (0 0 0);

boundaryField
{
    sides
    {
        type            empty;
    }
    blades
    {
        type            movingWallVelocity;
        value           uniform (0 0 0);
    }
    inlet
    {
        type            fixedValue;
        value           uniform (4 0 0);
    }
    bottom
    {
        type            symmetryPlane;
    }
    outlet
    {
        type            zeroGradient;
    }
    top
    {
        type            symmetryPlane;
    }
    #include "include/ami"
}

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

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

internalField   uniform 0;

boundaryField
{
    sides
    {
        type            empty;
    }
    blades
    {
        type            zeroGradient;
    }
    inlet
    {
        type            zeroGradient;
    }
    bottom
    {
        type            symmetryPlane;
    }
    outlet
    {
        type            fixedValue;
        value           uniform 0;
    }
    top
    {
        type            symmetryPlane;
    }
    #include "include/ami"
}
// ************************************************************************* //
k
Code:
/*--------------------------------*- C++ -*----------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  2.3.0                                 |
|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
|    \\/     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.0615;

boundaryField
{
    sides
    {
        type            empty;
    }
    blades
    {
        type            kqRWallFunction;
        value           uniform 0.0615;
    }
    inlet
    {
        type            fixedValue;
        value           uniform 0.0615;
    }
    bottom
    {
        type            symmetryPlane;
    }
    outlet
    {
        type            zeroGradient;
    }
    top
    {
        type            symmetryPlane;
    }
    #include "include/ami"
}


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

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

internalField   uniform 0.036;

boundaryField
{
    sides
    {
        type            empty;
    }

    blades
    {
        type            epsilonWallFunction;
        value           uniform 0.036;
    }

    inlet
    {
        type            fixedValue;
        value           uniform 0.036;
    }

    bottom
    {
        type            symmetryPlane;
    }

    outlet
    {
        type            zeroGradient;
    }
    
    top
    {
        type            symmetryPlane;
    }
    #include "include/ami"
}


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

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

internalField   uniform 0;

boundaryField
{
    sides
    {
        type            empty;
    }

    blades
    {
        type            nutkWallFunction;
        value           uniform 0;
    }

    inlet
    {
        type            calculated;
        value           uniform 0;
    }

    bottom
    {
        type            symmetryPlane;
    }

    outlet
    {
        type            calculated;
        value           uniform 0;
    }
    
    top
    {
        type            symmetryPlane;
    }
    #include "include/ami"
}


// ************************************************************************* //
include/ami
Code:
//c++
    ami00 { type cyclicAMI;value $internalField; }
    ami01 { type cyclicAMI;value $internalField; }
    //ami10 { type cyclicAMI;value $internalField; }
    //ami11 { type cyclicAMI;value $internalField; }
dynamicMeshDict
Code:
/*--------------------------------*- C++ -*----------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  2.4.0                            |
|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version     2.0;
    format      ascii;
    class       dictionary;
    location    "constant";
    object      dynamicMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

dynamicFvMesh   dynamicMotionSolverFvMesh;

motionSolver    solidBody;

cellZone        rotor;

solidBodyMotionFunction  rotatingMotion;

origin        (0 0 0);
axis          (0 0 1);
omega         1.5; //14.96 rad/s

// ************************************************************************* //
fvSolution
Code:
/*--------------------------------*- C++ -*----------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  1.5                                   |
|   \\  /    A nd           | Web:      http://www.OpenFOAM.org               |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version     2.0;
    format      ascii;
    class       dictionary;
    object      fvSolution;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
myPTolerance	1e-4;
myTolerance	1e-10;
myRelaxation 1;

solvers
{
    "(p|pFinal|pcorr)"
    {
    	solver		 	GAMG;
    	mergeLevels 1;
    	smoother 		GaussSeidel;
    	agglomerator 		faceAreaPair;
    	nCellsInCoarsestLevel 1500;
    	tolerance 		$myPTolerance;
    	relTol 0;
    }
    "(U|UFinal|k|kFinal|omega|omegaFinal|epsilon|epsilonFinal|nuTilda|nuTildaFinal)"//epsilon|R
    {
	   solver		 smoothSolver;//PBiCG
       smoother	 GaussSeidel;//preconditioner   DILU;
       tolerance        $myTolerance;
	   relTol 0;
    }
}

PIMPLE
{
    correctPhi          	no;
    nOuterCorrectors 1;
    nCorrectors 3;
    nNonOrthogonalCorrectors 1;
    pRefCell           		0;
    pRefValue           	0;
}
relaxationFactors
{
    fields
    {
        p               $myRelaxation;
    }
    equations
    {
        k               $myRelaxation;
        U               $myRelaxation;
        omega           $myRelaxation;
        epsilon         $myRelaxation;
        nuTilda         $myRelaxation;
    }
}
// ************************************************************************* //
fvSchemes
Code:
/*--------------------------------*- C++ -*----------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  2.1.1                                 |
|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version     2.0;
    format      ascii;
    class       dictionary;
    object      fvSchemes;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

ddtSchemes
{
    default Euler;
}

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

divSchemes
{
    default         none;//Gauss linearUpwind leastSquares;
    //div(phi,U)	Gauss linearUpwind grad(U);
    div(phi,U)		Gauss upwind;
	//div(phi,U)      Gauss linearUpwind leastSquares;//upwind;//linearUpwind grad(U);
    div(phi,nuTilda)      Gauss upwind;//linearUpwind leastSquares;//upwind;//limitedLinear 1;
    div(phi,k)      Gauss upwind;//linearUpwind leastSquares;//upwind;//limitedLinear 1;
    div(phi,omega)  Gauss upwind;//linearUpwind leastSquares;//upwind;//limitedLinear 1;
    div(phi,epsilon) Gauss upwind;//linearUpwind leastSquares;//upwind;
    div((nuEff*dev2(T(grad(U))))) Gauss linear;
}

laplacianSchemes
{
    default         Gauss linear limited 1;
}

interpolationSchemes
{
    default         linear;
}

snGradSchemes
{
    default         corrected;
}

fluxRequired
{
    default         no;
    pcorr;
    p;
}

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

applicationClass    pimpleDyMFoam;
startFrom           latestTime;
endTime             83;
stopAt              endTime;
deltaT              1;
writeControl        adjustableRunTime;
writeInterval       5;
cycleWrite          0;
writeFormat         ascii;
writePrecision      6;
writeCompression    uncompressed;
timeFormat          general;
timePrecision       6;
runTimeModifiable   yes;
adjustTimeStep      yes;
maxCo               1;
maxDeltaT           0.023;


functions
{

    blades
    {
        patches     (blades);
    CofR        (0 0 0); //Origin for moment calculations
        outputControl timeStep;outputInterval 2;
        type forces;functionObjectLibs ("libforces.so");pName p;UName U;rho rhoInf;rhoInf 1.225;log true;
    }


 
forceCoeffs
{
    type                forceCoeffs;
    functionObjectLibs  ( "libforces.so" );
    outputControl       timeStep;
    outputInterval      2;
 
    patches             ( "blades" );
    pName               p;
    UName               U;
    rho             rhoInf;
    log                 true;
     
    liftDir             (0 1 0);
    dragDir             (1 0 0);
    CofR                (0 0 0);
    pitchAxis           (0 0 1);
     
    magUInf             4;
    rhoInf              1.225;
    lRef                4;
    Aref                8;
}
// ************************************************************************* //
Pervispasco 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
Sliding / Dynamic Mesh in heat transfer problem platzhalter FLUENT 0 May 7, 2018 06:25
Gambit problems Althea FLUENT 22 January 4, 2017 04:19
[ICEM] Negative volume error in hybrid mesh siw ANSYS Meshing & Geometry 4 September 3, 2014 06:25
[blockMesh] BlockMesh FOAM warning gaottino OpenFOAM Meshing & Mesh Conversion 7 July 19, 2010 15:11
How to control Minximum mesh space? hung FLUENT 7 April 18, 2005 10:38


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