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

cyclic / cyclicAMI boundary conditon - ICEM Mesh

Register Blogs Community New Posts Updated Threads Search

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   November 7, 2017, 15:26
Default cyclic / cyclicAMI boundary conditon - ICEM Mesh
  #1
Senior Member
 
cyln
Join Date: Jul 2016
Posts: 102
Rep Power: 9
cyln is on a distinguished road
Hello,


My computational domain has a shape of a quarter cylinder and I apply rotational periodic/cyclic BC on the sides. I generated my mesh on ICEM and then converted it to Foam mesh. As suggested, I set my side boundaries to, say symmetry, and then converted the boundary from symmetry to cyclicAMI using createPatchDict. Since my mesh is comprised of all tetrahedral elements, number of faces on each side is different. Therefore, I was not able use cyclic boundary condition. After setting sides to cyclicAMI, I am having a FPE error (divison by zero). Before that, with the symmetry boundary conditions on the sides, my simulation works perfectly fine. Therefore, I know the FPE error is certainly because of the cyclicAMI boundary condition. And i see that the FPE error occurs once the software starts solving pressure equation after solving the momentum equations.

Setting a BC shoudnt be this difficult. Can someone tell me what I am doing wrong?

0/U file:
Code:
    SIDE11
    {
        type            cyclicAMI;
        //type            symmetry;
    }

    SIDE22
    {
        type            cyclicAMI;
        //type            symmetry;
    }
0/p file:
Code:
    SIDE11
    {
        type            cyclicAMI;
        //type            symmetry;
    }

    SIDE22
    {
        type            cyclicAMI;
        //type            symmetry;
    }
constant/polyMesh/boundary file before conversion:
Code:
 SIDE1
    {
        type            symmetry;
        inGroups        1(symmetry);
        nFaces          215211;
        startFace       20280541;
    }
    SIDE2
    {
        type            symmetry;
        inGroups        1(symmetry);
        nFaces          215315;
        startFace       20495752;
    }
constant/polyMesh/boundary file after conversion:
Code:
SIDE11
    {
        type            cyclicAMI;
        inGroups        1(cyclicAMI);
        nFaces          215211;
        startFace       20424546;
        matchTolerance  0.001;
        transform       rotational;
        neighbourPatch  SIDE22;
        rotationAxis    (1 0 0);
        rotationCentre  (0 0 0);
    }
    SIDE22
    {
        type            cyclicAMI;
        inGroups        1(cyclicAMI);
        nFaces          215315;
        startFace       20639757;
        matchTolerance  0.001;
        transform       rotational;
        neighbourPatch  SIDE11;
        rotationAxis    (1 0 0);
        rotationCentre  (0 0 0);
    }
createPatchDict file:
Code:
patches
(
    {
        // Name of new patch
        name SIDE11;

        // Dictionary to construct new patch from
        patchInfo
        {
            type cyclicAMI;
            neighbourPatch SIDE22;
            matchTolerance 0.001;

            // Optional: explicitly set transformation tensor.
            // Used when matching and synchronising points.
            transform rotational;
            rotationAxis (1 0 0);
            rotationCentre (0 0 0);
        }

        // How to construct: either from 'patches' or 'set'
        constructFrom patches;

        // If constructFrom = patches : names of patches. Wildcards allowed.
        patches (SIDE1);

        // If constructFrom = set : name of faceSet
        set f0;
    }
    {
        // Name of new patch
        name SIDE22;

        // Dictionary to construct new patch from
        patchInfo
        {
            type cyclicAMI;
            neighbourPatch SIDE11;
            matchTolerance 0.001;

            // Optional: explicitly set transformation tensor.
            // Used when matching and synchronising points.
            transform rotational;
            rotationAxis (1 0 0);
            rotationCentre (0 0 0);
            // transform translational;
            // separationVector (1 0 0);
        }

        // How to construct: either from 'patches' or 'set'
        constructFrom patches;

        // If constructFrom = patches : names of patches. Wildcards allowed.
        patches (SIDE2);

        // If constructFrom = set : name of faceSet
        set f0;
    }
cyln 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 58 July 3, 2020 01:13
Centrifugal fan j0hnny CFX 13 October 1, 2019 13:55
CFD analaysis of Pelton turbine amodpanthee CFX 31 April 19, 2018 18:02
Mesh Boundary Assignment Question Wandadars Mesh Generation & Pre-Processing 1 June 13, 2016 17:19
Wrong flow in ratating domain problem Sanyo CFX 17 August 15, 2015 06:20


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