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

[mesh manipulation] Problem with using createPatchDict to define cyclic boundaries

Register Blogs Members List Search Today's Posts Mark Forums Read

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   April 1, 2016, 22:18
Default Problem with using createPatchDict to define cyclic boundaries
  #1
New Member
 
Katherine
Join Date: Feb 2016
Posts: 16
Rep Power: 5
kaszt is on a distinguished road
Hello,

I'm having some problems with periodic boundary conditions for a mesh I created with Cubit to solve for laminar flow over a cylinder. I defined the top and bottom boundaries within Cubit as "periodic", but OpenFOAM doesn't recognize Cubit's definition of periodic boundaries (i.e. they were written as type "wall" in my boundary file after running fluentMeshToFoam). To solve this problem, I tried two things: first, I modified my boundary file as follows:

Code:
FoamFile
{
    version     2.0;
    format      ascii;
    class       polyBoundaryMesh;
    location    "constant/polyMesh";
    object      boundary;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

//5
6
(
    //wall_4 // top and bottom; want to make this into 2 patches of type "cyclic" 
    //{
        //type            wall;
        //inGroups        1(wall);
        //nFaces          400;
        //startFace       812000;
    //}
    
    // Patches for top and bottom...
    top // top boundary
    {
        type            patch;
        nFaces          200;
        startFace       812000;
    }
    
    bottom // bottom boundary
    {
        type            patch;
        nFaces          200;
        startFace       812200;
    }    
    velocity-inlet_5
    {
        type            patch;
        nFaces          200;
        startFace       812400;
    }
    outflow_6
    {
        type            patch;
        nFaces          200;
        startFace       812600;
    }
    wall_7 // cylinder walls
    {
        type            wall;
        inGroups        1(wall);
        nFaces          800;
        startFace       812800;
    }
    frontAndBackPlanes
    {
        type            empty;
        inGroups        1(empty);
        nFaces          812800;
        startFace       813600;
    }
)
Then I used a createPatchDict file to create the cyclic patches; below is how I defined my file:

Code:
// Sync coupled points
pointSync true; 

// Create patches
patches
(
    {
    // Name of new patch
    name    periodic_top;
    
    // Dictionary to construct new patch from
    patchInfo
        {
        type    cyclic;
        neighbourPatch  periodic_bottom;
        matchTolerance  0.01;
        
        // optional; set transformation tensor
        transform   translational;
        separationVector    (0 50 0); // distance between two patches in "y"
        }
    
    // How to construct; either patches or set
    constructFrom   patches;
    
    // If constructFrom = patches : name of patches
    patches (top);
    
    // If constructFrom = set : name of faceSet
    set f0;
    }
    
    {
    // Name of new patch
    name    periodic_bottom;
    
    // Dictionary to construct new patch from
    patchInfo
        {
        type    cyclic;
        neighbourPatch  periodic_top;
        matchTolerance  0.01;
        
        // optional; set transformation tensor
        transform   translational;
        separationVector    (0 -50 0);
        }
    
    // How to construct; either patches or set
    constructFrom   patches;
    
    // If constructFrom = patches : name of patches
    patches (bottom);
    
    // If constructFrom = set : name of faceSet
    set f0;
    }
);
However, when I try to run
Code:
foamJob createPatch -overwrite
I get the following error:

Code:
--> FOAM FATAL ERROR: 
face 61 area does not match neighbour by 2.76759620807% -- possible face ordering problem.
I have attached a picture of the mesh I am trying to work with; the periodic boundary conditions would be for the top and bottom boundaries, therefore I set the separationVector to be the distance between the boundaries in "y" (since I am using symmetry in the x-axis). I am pretty stuck with this problem, and I'm not sure if I am using the createPatchDict correctly. If anyone has any advice or tips as to what I am doing incorrectly, I would appreciate your help very much. Thank you in advance for your time!
Attachment 46424
Attached Images
File Type: jpg cylinderpe.jpg (28.5 KB, 21 views)
kaszt is offline   Reply With Quote

Reply

Tags
createpatchdict, cyclic bc, cyclic boundaries, cyclic patches

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

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
[Commercial meshers] Problem with cyclic boundaries in Openfoam 2.3, mesh import from ICEM Scabbard OpenFOAM Meshing & Mesh Conversion 27 November 15, 2019 09:15
Using sprayFOAM on cyclic problem with wedge boundaries Mentalo OpenFOAM Running, Solving & CFD 5 September 7, 2018 03:12
Mapped vs Cyclic Boundaries in OpenFOAM arsenis OpenFOAM Running, Solving & CFD 0 July 31, 2017 09:17
[mesh manipulation] Problems with rotational cyclic boundaries TReviol OpenFOAM Meshing & Mesh Conversion 8 July 11, 2014 04:45
[Commercial meshers] Handling cyclic BC from gambit to openfoam for a cascade airfoil problem - OF 1.6 maverick OpenFOAM Meshing & Mesh Conversion 2 June 18, 2011 05:36


All times are GMT -4. The time now is 20:04.