CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM Running, Solving & CFD (https://www.cfd-online.com/Forums/openfoam-solving/)
-   -   MRFZones with two rotating zones (https://www.cfd-online.com/Forums/openfoam-solving/73547-mrfzones-two-rotating-zones.html)

chemeng March 10, 2010 23:31

MRFZones with two rotating zones
 
Hello everybody! I have a mixer tank with two impellers in the same axis (0 1 0) at a different high. The solver only recognizes the first rotating zone. My MRFZones file is:
1
(
IMPELLER1ST
{
// Fixed patches (by default they 'move' with the MRF zone)
nonRotatingPatches (SLIPWALL BAFFLE WALL CYCLIC);

origin origin [0 1 0 0 0 0 0] (0 0 0);
axis axis [0 0 0 0 0 0 0] (0 1 0);
omega omega [0 0 -1 0 0 0 0] 10.5;
}
)
2
(
IMPELLER2ND
{
// Fixed patches (by default they 'move' with the MRF zone)
nonRotatingPatches (SLIPWALL BAFFLE WALL CYCLIC);

origin origin [0 1 0 0 0 0 0] (0 0 0);
axis axis [0 0 0 0 0 0 0] (0 1 0);
omega omega [0 0 -1 0 0 0 0] 10.5;
}
)

I have tried to put in the IMPELLER2ND axis (0 -1 0) but it doesnt work. I have tried also a lot of differents forms but no one work.
I hope your suggestions. Thanks in advance!

amgode March 11, 2010 00:57

Could you please post the error also. That would be most helpful...

Try this...constant/MRFZones file:

2
(
IMPELLER1ST
{
// Fixed patches (by default they 'move' with the MRF zone)
nonRotatingPatches (SLIPWALL BAFFLE WALL CYCLIC);

origin origin [0 1 0 0 0 0 0] (0 0 0);
axis axis [0 0 0 0 0 0 0] (0 1 0);
omega omega [0 0 -1 0 0 0 0] 10.5;
}
IMPELLER2ND
{
// Fixed patches (by default they 'move' with the MRF zone)
nonRotatingPatches (SLIPWALL BAFFLE WALL CYCLIC);

origin origin [0 1 0 0 0 0 0] (0 0 0);
axis axis [0 0 0 0 0 0 0] (0 1 0);
omega omega [0 0 -1 0 0 0 0] 10.5;
}
)

Make sure that the the MRF zones are included in the constant/polyMesh/cellZones

Hope this helps !

Regards,

-- Amol

chemeng March 11, 2010 01:10

I dont have any error, It just when I see the results only in the bottom part of the tank the flow field is rotating. In the upper part is static. I have tried the configuration that you have written and it doesnt work.
Any other possibility?

chemeng March 11, 2010 01:15

Ok, problem solved. you were right. I have just try again with your configuration and all is ok, sorry. Thank you very much!!

Simone81 March 30, 2018 11:09

Two propellers simulation
 
1 Attachment(s)
Hi,

I am running two propellers simulation, but only one propeller rotating! I am using pimpleDyMFoam (from propeller tutorial). This is my dynamicMeshDict file:

Code:

dynamicFvMesh  solidBodyMotionFvMesh;

motionSolverLibs ( "libfvMotionSolvers.so" );

solidBodyMotionFvMeshCoeffs
{
    cellZone        innerCylinderSmall1;

    solidBodyMotionFunction  rotatingMotion;
    rotatingMotionCoeffs
    {
        origin      (0 0 0);
        axis        (0 1 0);
        omega      50; // rad/s
    }

    cellZone        innerCylinderSmall2;

    solidBodyMotionFunction  rotatingMotion;
    rotatingMotionCoeffs
    {
        origin      (0.5 0 0);
        axis        (0 1 0);
        omega      50; // rad/s
    }
}

In the picture you can see only the second propeller is rotating. Any idea about what I am doing wrong?
Thank you !
Simone

amgode April 3, 2018 05:32

Quote:

Originally Posted by Simone81 (Post 687158)
Hi,

I am running two propellers simulation, but only one propeller rotating! I am using pimpleDyMFoam (from propeller tutorial). This is my dynamicMeshDict file:

Code:

dynamicFvMesh  solidBodyMotionFvMesh;

motionSolverLibs ( "libfvMotionSolvers.so" );

solidBodyMotionFvMeshCoeffs
{
    cellZone        innerCylinderSmall1;

    solidBodyMotionFunction  rotatingMotion;
    rotatingMotionCoeffs
    {
        origin      (0 0 0);
        axis        (0 1 0);
        omega      50; // rad/s
    }

    cellZone        innerCylinderSmall2;

    solidBodyMotionFunction  rotatingMotion;
    rotatingMotionCoeffs
    {
        origin      (0.5 0 0);
        axis        (0 1 0);
        omega      50; // rad/s
    }
}

In the picture you can see only the second propeller is rotating. Any idea about what I am doing wrong?
Thank you !
Simone

In the dynamicMeshDict file above, it is not mentioned if the number of regions is one / two, I think that's what causing the problem.

Please check what input needs to be added to the dict file to tell the solver that there are two rotating zones present and not one.

Thecomebackkid August 4, 2018 14:41

help
 
Quote:

Originally Posted by amgode (Post 687425)
In the dynamicMeshDict file above, it is not mentioned if the number of regions is one / two, I think that's what causing the problem.

Please check what input needs to be added to the dict file to tell the solver that there are two rotating zones present and not one.



I need the same help, if anyone can shed some light on this

AndreasPe October 26, 2018 04:37

Quote:

Originally Posted by Thecomebackkid (Post 701541)
[/U]
I need the same help, if anyone can shed some light on this

Hi,

did you solve the problem? Which OpenFOAM version are you using? I also want to use multiple rotating zones but i can't find any reference on how to do it in OpenFOAM 5/6. In Foam-Extend-4.0 it is very easy with the turboFVMesh.

Thank you!

Andreas

Thecomebackkid October 26, 2018 07:42

Quote:

Originally Posted by AndreasPe (Post 712761)
Hi,

did you solve the problem? Which OpenFOAM version are you using? I also want to use multiple rotating zones but i can't find any reference on how to do it in OpenFOAM 5/6. In Foam-Extend-4.0 it is very easy with the turboFVMesh.

Thank you!

Andreas

I think the way is to reference domain in separate patches but not sure since my simulation is not time marching properly yet. I have moving MRF's when running moveDynamicMesh however

im using v5 - I think - blue cfd 2017.

mhasif02 July 9, 2019 08:31

Quote:

Originally Posted by Simone81 (Post 687158)
Hi,

I am running two propellers simulation, but only one propeller rotating! I am using pimpleDyMFoam (from propeller tutorial). This is my dynamicMeshDict file:

Code:

dynamicFvMesh  solidBodyMotionFvMesh;

motionSolverLibs ( "libfvMotionSolvers.so" );

solidBodyMotionFvMeshCoeffs
{
    cellZone        innerCylinderSmall1;

    solidBodyMotionFunction  rotatingMotion;
    rotatingMotionCoeffs
    {
        origin      (0 0 0);
        axis        (0 1 0);
        omega      50; // rad/s
    }

    cellZone        innerCylinderSmall2;

    solidBodyMotionFunction  rotatingMotion;
    rotatingMotionCoeffs
    {
        origin      (0.5 0 0);
        axis        (0 1 0);
        omega      50; // rad/s
    }
}

In the picture you can see only the second propeller is rotating. Any idea about what I am doing wrong?
Thank you !
Simone




Look into the multiMotion solver.

Mohamad

lukasf February 7, 2020 05:36

I can recommend this link: https://openfoamwiki.net/index.php/P...dyMotionFvMesh


Let me share a working example of a dynamicMeshDict with 2 rotating zones:

Code:



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

dynamicFvMesh  multiSolidBodyMotionFvMesh;

motionSolverLibs ( "libfvMotionSolvers.so" );


//rotating cellZone and attributes

multiSolidBodyMotionFvMeshCoeffs
{


    rotating_r2 // this is a cellzone which has been created before the simulation starts
        {
            solidBodyMotionFunction  rotatingMotion;
            rotatingMotionCoeffs
            {
                origin      (0 -0.1 0); //origin (x y z) of rotation
                axis        (0 1 0); // axis of rotation (x y z)
                omega      6;  // rad/s
            }
        }
   
    rotating_r0 // this is a cellzone which has been created before the simulation starts
        {
            solidBodyMotionFunction  rotatingMotion;
            rotatingMotionCoeffs
            {
                origin      (1.38 -0.1 0); //origin (x y z) of rotation
                axis        (0 1 0); // axis of rotation (x y z)
                omega      -6; // rad/s
            }

        }

}


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


lukasf March 2, 2022 11:41

I published CFD results using OpenFOAM and the moving mesh approach here:


https://asmedigitalcollection.asme.o...12A002/1120033


It worked well to predict the turbulent flow field downstream of active turbulence generators. In the paper we validated our CFD results with experimental data.





Quote:

Originally Posted by lukasf (Post 757126)
I can recommend this link: https://openfoamwiki.net/index.php/P...dyMotionFvMesh


Let me share a working example of a dynamicMeshDict with 2 rotating zones:

Code:



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

dynamicFvMesh  multiSolidBodyMotionFvMesh;

motionSolverLibs ( "libfvMotionSolvers.so" );


//rotating cellZone and attributes

multiSolidBodyMotionFvMeshCoeffs
{


    rotating_r2 // this is a cellzone which has been created before the simulation starts
        {
            solidBodyMotionFunction  rotatingMotion;
            rotatingMotionCoeffs
            {
                origin      (0 -0.1 0); //origin (x y z) of rotation
                axis        (0 1 0); // axis of rotation (x y z)
                omega      6;  // rad/s
            }
        }
   
    rotating_r0 // this is a cellzone which has been created before the simulation starts
        {
            solidBodyMotionFunction  rotatingMotion;
            rotatingMotionCoeffs
            {
                origin      (1.38 -0.1 0); //origin (x y z) of rotation
                axis        (0 1 0); // axis of rotation (x y z)
                omega      -6; // rad/s
            }

        }

}


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



lukasf November 27, 2023 03:47

The applications of these moving mesh settings was published in this journal paper (open-access).

https://asmedigitalcollection.asme.o...nd-1D-Hot-Wire


All times are GMT -4. The time now is 23:41.