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

cyclic boundary with same geometric size but different number of faces? (2018 ver.)

Register Blogs Community New Posts Updated Threads Search

Like Tree1Likes
  • 1 Post By RobertHB

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   November 4, 2018, 22:29
Default cyclic boundary with same geometric size but different number of faces? (2018 ver.)
  #1
New Member
 
Brent Shambaugh
Join Date: Nov 2018
Posts: 8
Rep Power: 7
bshambaugh is on a distinguished road
I am having trouble with a boundary that involves a changing grid density. I think I need to use cyclicAMI instead of cyclic. There was a post with this question in 2012 about this linked to below.


The mesh looks like this:




Observe that there are 20 faces on the left and 40 faces on the right of the boundary in the center.


The error message is:

Code:
For patch leftRightWallleft there are 20 face centres, for the neighbour patch leftRightWallsright there are 40                        
                          From function void Foam::cyclicPolyPatch::calcTransforms(const primitivePatch&, const pointField&, const vectorField&, const pointField&, const vectorField&)                           in file meshes/polyMesh/polyPatches/constraint/cyclic/cyclicPolyPatch.C at line 156.--> FOAM FATAL ERROR:
Is getting cyclicAMI to work as easy as replacing cyclic with cyclicAMI? Doing this replacement does not seem to work.

e.g.

Code:
leftRightWallleft  
    {
        type            cyclic;
        neighbourPatch    leftRightWallsright;
        nFaces          20;
        startFace       4720;
}
to

Code:
leftRightWallleft  
    {
        type            cyclicAMI;
        neighbourPatch    leftRightWallsright;
        nFaces          20;
        startFace       4720;
}
I am borrowing from the 2012 version of this question, cyclic boundary with same geometric size but different number of faces?

For my Files, I replaced cyclic with cyclicAMI. (https://github.com/bshambaugh/openfo...lbow-twoFaces/)

in constant/polyMesh/boundary

Code:
leftRightWallleft  
    {
        type            cyclicAMI;   
        neighbourPatch    leftRightWallsright;
        nFaces          20;
        startFace       4720;
}

 leftRightWallsright
    {
        type            cyclicAMI;
        neighbourPatch  leftRightWallleft;
        nFaces          40;
        startFace       4760;
}
in 0/p

Code:
leftRightWallleft
    {
        type            cyclicAMI;
        nFaces          20;
        startFace       4720;
}

    leftRightWallsright
    {
        type            cyclicAMI;
        nFaces          40;
        startFace       4760;
}
in 0/U

Code:
leftRightWallleft
    {
        type            cyclicAMI;
        nFaces          20;
        startFace       4720;
}

    leftRightWallsright
    {
        type            cyclicAMI;
        nFaces          40;
        startFace       4760;
}

Last edited by bshambaugh; November 5, 2018 at 09:36. Reason: adding error message
bshambaugh is offline   Reply With Quote

Old   November 5, 2018, 14:39
Default Investigate Possible approach with StichMesh, MergeMesh, and GlueFaces
  #2
New Member
 
Brent Shambaugh
Join Date: Nov 2018
Posts: 8
Rep Power: 7
bshambaugh is on a distinguished road
This is a compound mesh that was created in Salome, and then modified to work with OpenFoam. A method similar to what I used is described here [1].


To solve this problem, I will look at Glue Faces in Salome [2], and MergeMesh and StitchMesh in OpenFoam [3].

Edit: Bookmarking this. It seems close. Problem using AMI

[1] http://staff.um.edu.mt/__data/assets...o_OpenFOAM.pdf
[2] http://www.salome-platform.org/forum/forum_10/818415930
[3] MergeMesh and stitchMesh

Last edited by bshambaugh; November 5, 2018 at 20:17. Reason: Added a link to update progress, specifically pointing out edit
bshambaugh is offline   Reply With Quote

Old   November 10, 2018, 10:20
Default Case runs with error
  #3
New Member
 
Brent Shambaugh
Join Date: Nov 2018
Posts: 8
Rep Power: 7
bshambaugh is on a distinguished road
I ran the code and I obtained in log.icoFoam: "
"ill defined primitiveEntry starting at keyword 'value' ..."

Below is log.icoFoam followed by the constant/polyMesh/boundary,
0/p and 0/U configuration files.



Code:
/*---------------------------------------------------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  4.1                                   |
|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
Build  : 4.1
Exec   : icoFoam
Date   : Nov 10 2018
Time   : 15:33:30
Host   : "caelinux"
PID    : 30779
Case   : /home/caelinux/OpenFOAM/caelinux-4.1/run/tutorials/incompressible/icoFoam/elbow-fchannel
nProcs : 1
sigFpe : Enabling floating point exception trapping (FOAM_SIGFPE).
fileModificationChecking : Monitoring run-time modified files using timeStampMaster
allowSystemOperations : Allowing user-supplied system call operations

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
Create time

Create mesh for time = 0


PISO: Operating solver in PISO mode

Reading transportProperties

Reading field p

AMI: Creating addressing and weights between 40 source faces and 20 target faces
AMI: Patch source sum(weights) min/max/average = 1, 1, 1
AMI: Patch target sum(weights) min/max/average = 1, 1, 1
Reading field U



--> FOAM FATAL IO ERROR: 
"ill defined primitiveEntry starting at keyword 'value' on line 63 and ending at line 69"

file: /home/caelinux/OpenFOAM/caelinux-4.1/run/tutorials/incompressible/icoFoam/elbow-fchannel/0/U at line 69.

    From function void Foam::primitiveEntry::readEntry(const Foam::dictionary&, Foam::Istream&)
    in file db/dictionary/primitiveEntry/primitiveEntryIO.C at line 189.

FOAM exiting
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;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

10
(
    leftRightWallsright
    {
        type            cyclicAMI;
        neighbourPatch  leftRightWallleft;
        transform       noOrdering;
        nFaces          40;
        startFace       3880;
    }
    outlet
    {
        type            patch;
        nFaces          40;
        startFace       3920;
    }
    channelWallsright
    {
        type            wall;
        nFaces          80;
        startFace       3960;
    }
    destinationFaceright
    {
        type            wall;
        nFaces          1600;
        startFace       4040;
    }
    sourceFaceright
    {
        type            wall;
        nFaces          1600;
        startFace       5640;
    }
    sourceFaceleft
    {
        type            wall;
        nFaces          400;
        startFace       7240;
    }
    destinationFaceleft
    {
        type            wall;
        nFaces          400;
        startFace       7640;
    }
    channelWallsleft
    {
        type            wall;
        nFaces          40;
        startFace       8040;
    }
    leftRightWallleft
    {
        type            cyclicAMI;
        neighbourPatch  leftRightWallsright;
        transform       noOrdering;
        nFaces          20;
        startFace       8080;
    }
    inlet
    {
        type            patch;
        nFaces          20;
        startFace       8100;
    }
)

// ************************************************************************* //
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       volScalarField;
    object      p;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

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

internalField   uniform 0;

boundaryField
{
    leftRightWallsright
    {
        type            cyclicAMI;
    }
    outlet
    {
        type            fixedValue;
        value           uniform 0;
    }
    channelWallsright
    {
        type            zeroGradient;
    }
    destinationFaceright
    {
        type            zeroGradient;
    }
    sourceFaceright
    {
        type            zeroGradient;
    }
    sourceFaceleft
    {
        type            zeroGradient;
    }
    destinationFaceleft
    {
        type            zeroGradient;
    }
    channelWallsleft
    {
        type            zeroGradient;
    }
    leftRightWallleft
    {
        type            cyclicAMI;
    }
    inlet
    {
        type            zeroGradient;
    }

}

// ************************************************************************* //
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       volVectorField;
    object      U;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

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

internalField   uniform (0 0 0);

boundaryField
{
       leftRightWallsright
    {
        type            cyclicAMI;
    }
    outlet
    {
        type            zeroGradient;
    }
    channelWallsright
    {
        type            fixedValue;
        value           uniform 0;
    }
    destinationFaceright
    {
        type            noSlip;
    }
    sourceFaceright
    {
        type            noSlip;
    }
    sourceFaceleft
    {
        type            noSlip;
    }
    destinationFaceleft
    {
        type            noSlip;
    }
    channelWallsleft
    {
        type            noSlip;
    }
    leftRightWallleft
    {
        type            cyclicAMI;
    }
    inlet
    {
        type            fixedValue;
        value           uniform(1 0 0);
    }
}

// ************************************************************************* //
bshambaugh is offline   Reply With Quote

Old   November 12, 2018, 04:11
Default
  #4
Senior Member
 
Robert
Join Date: May 2015
Location: Bremen, GER
Posts: 292
Rep Power: 11
RobertHB is on a distinguished road
Quote:
Originally Posted by bshambaugh View Post
I ran the code and I obtained in log.icoFoam: "
"ill defined primitiveEntry starting at keyword 'value' on line 63 and ending at line 69"
Usually a sign that you missed a semicolon somewhere, but i checked your U dict and you didn't.
But on line 63 i find
Code:
value           uniform(1 0 0);
so i'm guessing that your simulation might struggle with the missing space between uniform and (1 0 0);


Furthermore, on line 34 you have
Code:
value           uniform 0;
which will most likely complain. Use uniform (0 0 0);
bshambaugh likes this.
__________________
If you liked my answer to your question, please consider leaving a "Like" in return
RobertHB 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
[General] Extracting ParaView Data into Python Arrays Jeffzda ParaView 30 November 6, 2023 21:00
simpleFoam parallel AndrewMortimer OpenFOAM Running, Solving & CFD 12 August 7, 2015 18:45
SigFpe when running ANY application in parallel Pj. OpenFOAM Running, Solving & CFD 3 April 23, 2015 14:53
[snappyHexMesh] crash sHM H25E OpenFOAM Meshing & Mesh Conversion 11 November 10, 2014 11:27
Cluster ID's not contiguous in compute-nodes domain. ??? Shogan FLUENT 1 May 28, 2014 15:03


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