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/)
-   -   interDymFoam skew AMI surfaces (https://www.cfd-online.com/Forums/openfoam-solving/195862-interdymfoam-skew-ami-surfaces.html)

Arne87 November 19, 2017 10:26

interDymFoam skew AMI surfaces
 
4 Attachment(s)
Dear foam experts,

I am trying to run a similar case as the mixerVesselAMI2D tutorial. Differences are that I want to make it a 3D case by adding more cells in the z dimension and the front and back surfaces have to be physical walls (no slip). Furthermore, I want to use pointwise to generate the grid as this is our main meshing software. If I create the mesh using blockMesh, increase the number of cells in the third dimension and change the empty surfaces to walls everything is fine. The case basically runs in the same way as in the tutorial.

However, if I change the geometry slightly by importing the pointwise grid I run into problems. The geometry is visible in the pictures. It is basically a circle with a spared out square in its middle. This square is supposed to rotate. To make this possible I created (as in the tutorial) two AMI patches which distribute the domain in a rotating part and a static part. The center square rotates as intended and on the inside of the domain the rotation is performed as planned. In the close up you can see that in this layer the cells are actually sliding along the AMI surface. However, on the outside of the domain in the front and the back surfaces problems arise. In this layer the cells are not sliding on the AMI, hence solving the rotation by deforming the cells. This leads to a crash of the simulation at some point.

In my opinion my mesh is set up in a similar way as the tutorial case and I don't understand why I get a different behavior. If somebody can help with this issue I would be very glad. I attached all the files which I considered relevant. However, if you need any further information please let me know.

Code:

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

8
(
    AMI1
    {
        type            cyclicAMI;
        inGroups        1(cyclicAMI);
        nFaces          1280;
        startFace      141528;
        matchTolerance  0.0001;
        transform      noOrdering;
        neighbourPatch  AMI2;
    }
    AMI2
    {
        type            cyclicAMI;
        inGroups        1(cyclicAMI);
        nFaces          1280;
        startFace      142808;
        matchTolerance  0.0001;
        transform      noOrdering;
        neighbourPatch  AMI1;
    }
    back1
    {
        type            wall;
        inGroups        1(wall);
        nFaces          2540;
        startFace      144088;
    }
    back2
    {
        type            wall;
        inGroups        1(wall);
        nFaces          2432;
        startFace      146628;
    }
    front1
    {
        type            wall;
        inGroups        1(wall);
        nFaces          2540;
        startFace      149060;
    }
    front2
    {
        type            wall;
        inGroups        1(wall);
        nFaces          2432;
        startFace      151600;
    }
    rotor
    {
        type            wall;
        inGroups        1(wall);
        nFaces          1280;
        startFace      154032;
    }
    stator
    {
        type            wall;
        inGroups        1(wall);
        nFaces          1480;
        startFace      155312;
    }
)

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

Code:

/*--------------------------------*- C++ -*----------------------------------*\
| =========                |                                                |
| \\      /  F ield        | OpenFOAM: The Open Source CFD Toolbox          |
|  \\    /  O peration    | Version:  4.1                                  |
|  \\  /    A nd          | Web:      www.OpenFOAM.org                      |
|    \\/    M anipulation  |                                                |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version    2.0;
    format      ascii;
    class      dictionary;
    object      topoSetDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
actions
(
    {
        name AMI;
        type faceSet;
        action new;
        source patchToFace;
        sourceInfo
        {
            name "AMI.*";
        }
    }

    {
        name c1;
        type cellSet;
        action new;
        source cylinderToCell;
        sourceInfo
        {
            p1 (0 0 -100);
            p2 (0 0 100);
        radius 0.999999;
        }
    }

    {
        name rotor;
        type cellZoneSet;
        action new;
        source setToCellZone;
        sourceInfo
        {
            set  c1;
        }
    }


);

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

Code:

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

dynamicFvMesh  solidBodyMotionFvMesh;

motionSolverLibs ( "libfvMotionSolvers.so" );

solidBodyMotionFvMeshCoeffs
{
    cellZone        rotor;

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


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

I am looking forward to you answers,

Best

Arne


All times are GMT -4. The time now is 02:32.