CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > OpenFOAM > OpenFOAM Pre-Processing

cyclicAMI bc with two neighbouring patches

Register Blogs Community New Posts Updated Threads Search

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   August 11, 2018, 04:22
Default cyclicAMI bc with two neighbouring patches
  #1
New Member
 
zeshan
Join Date: Apr 2016
Posts: 24
Rep Power: 10
Thecomebackkid is on a distinguished road
hi all,


I have a case with domain and two separate rotating mrfs within it. I want to use cyclicAMI bc for interfaces:

mrf1 to domain
mrf2 to domain
domain to mrf1 and mrf2.

In order to I would like to know if I can specify two neighbouring patches somehow?

Code:
boundaryField
 {
    DOMAIN
    {
        type            cyclicAMI;
        inGroups        1(cyclicAMI);  ///also what is this for?
        matchTolerance  0.1;
        //transform       rotational;
        neighbourPatch  mrf1, mrf2 ------<< here is my problem it wont take two?
        rotationAxis    (0 0 1);
        rotationCentre  (0 0 0);
        nFaces          1628;
        startFace       171370;
    }
 }
does anyone know how I can do this?

thanks,
Zeshan
Thecomebackkid is offline   Reply With Quote

Old   August 11, 2018, 09:30
Default
  #2
Senior Member
 
anonymous
Join Date: Jan 2016
Posts: 416
Rep Power: 14
simrego is on a distinguished road
Hi!


I don't know if this is the same for cyclicAMI but as i know for example in CHT if you try to create an interface like this, AMI will complain.
Try to create two different patches in the domain like this:
couple domain1 with mrf1 and domain2 with mrf2.
It should works then.
simrego is offline   Reply With Quote

Old   August 11, 2018, 10:10
Default
  #3
New Member
 
zeshan
Join Date: Apr 2016
Posts: 24
Rep Power: 10
Thecomebackkid is on a distinguished road
Quote:
Originally Posted by simrego View Post
Hi!


I don't know if this is the same for cyclicAMI but as i know for example in CHT if you try to create an interface like this, AMI will complain.
Try to create two different patches in the domain like this:
couple domain1 with mrf1 and domain2 with mrf2.
It should works then.
hey thanks for the reply, I will try that out...and come back to you.
Thecomebackkid is offline   Reply With Quote

Old   August 16, 2018, 04:29
Default
  #4
New Member
 
zeshan
Join Date: Apr 2016
Posts: 24
Rep Power: 10
Thecomebackkid is on a distinguished road
Quote:
Originally Posted by simrego View Post
Hi!


I don't know if this is the same for cyclicAMI but as i know for example in CHT if you try to create an interface like this, AMI will complain.
Try to create two different patches in the domain like this:
couple domain1 with mrf1 and domain2 with mrf2.
It should works then.

Hi i am still having problems. i have tried the way you said but now i get a error with the AMI bc's


Code:
$ pimpleFoam.exe
/*---------------------------------------------------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  5.x                                   |
|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
/*   Windows 32 and 64 bit porting by blueCAPE: http://www.bluecape.com.pt   *\
|  Based on Windows porting (2.0.x v4) by Symscape: http://www.symscape.com   |
\*---------------------------------------------------------------------------*/
Build  : 5.x-963176928289
Exec   : C:/PROGRA~1/BLUECF~1/OpenFOAM-5.x/platforms/mingw_w64GccDPInt32Opt/bin/pimpleFoam.exe
Date   : Aug 16 2018
Time   : 09:22:09
Host   : "SWNPC5003"
PID    : 2244
I/O    : uncollated
Case   : C:/PROGRA~1/BLUECF~1/ofuser-of5/run/new/test/DOMAIN
nProcs : 1
SigFpe : Enabling floating point exception trapping (FOAM_SIGFPE).
fileModificationChecking : Monitoring run-time modified files using timeStampMaster (fileModificationSkew 10)
allowSystemOperations : Allowing user-supplied system call operations

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

Create mesh for time = 0

--> FOAM Warning :
    From function virtual Foam::label Foam::cyclicAMIPolyPatch::neighbPatchID() const
    in file AMIInterpolation/patches/cyclicAMI/cyclicAMIPolyPatch/cyclicAMIPolyPatch.C at line 720
    Patch GEARDVN specifies neighbour patch INTERFACE
 but that in return specifies GEARDRV

PIMPLE: no residual control data found. Calculations will employ 2 corrector loops

Reading field p

AMI: Creating addressing and weights between 33370 source faces and 17392 target faces
--> FOAM Warning :
    From function void Foam::AMIMethod<SourcePatch, TargetPatch>::checkPatches() const [with SourcePatch = Foam::PrimitivePatch<Foam::face, Foam::SubList, const Foam::Field<Foam::Vector<double> >&>; TargetPatch = Foam::PrimitivePatch<Foam::face, Foam::SubList, const Foam::Field<Foam::Vector<double> >&>]
    in file ./AMIInterpolation/AMIInterpolation/AMIMethod/AMIMethod/AMIMethod.T.C at line 57
    Source and target patch bounding boxes are not similar
    source box span     : (0.0213595 0.0384635 0.0192317)
    target box span     : (0.0213595 0.0213595 0.0192317)
    source box          : (0.263241 0.215276 0.000925333) (0.2846 0.25374 0.020157)
    target box          : (0.263241 0.23238 0.000925333) (0.2846 0.25374 0.020157)
    inflated target box : (0.261451 0.23059 -0.000865135) (0.286391 0.25553 0.0219475)


--> FOAM FATAL ERROR:
Unable to set source and target faces

    From function void Foam::faceAreaWeightAMI<SourcePatch, TargetPatch>::setNextFaces(Foam::label&, Foam::label&, Foam::label&, const boolList&, Foam::labelList&, const Foam::DynamicList<int>&, bool) const [with SourcePatch = Foam::PrimitivePatch<Foam::face, Foam::SubList, const Foam::Field<Foam::Vector<double> >&>; TargetPatch = Foam::PrimitivePatch<Foam::face, Foam::SubList, const Foam::Field<Foam::Vector<double> >&>; Foam::label = int; Foam::boolList = Foam::List<bool>; Foam::labelList = Foam::List<int>]
    in file ./AMIInterpolation/AMIInterpolation/AMIMethod/faceAreaWeightAMI/faceAreaWeightAMI.C at line 287.

FOAM aborting

Generating stack trace...


Backtrace:
        ZN10StackTraceC1Ev [0x705c1465+0x25]
                 module: C:\PROGRA~1\BLUECF~1\ThirdParty-5.x\platforms\mingw_w64GccDPInt32\lib\libstack_trace.dll
        ZN4Foam5error10printStackERNS_7OstreamE [0x931c88+0x218]
                 module: C:\PROGRA~1\BLUECF~1\OpenFOAM-5.x\platforms\mingw_w64GccDPInt32Opt\lib\libOpenFOAM.dll
        ZN4Foam5error5abortEv [0x6e5b5d+0x12d]
                 module: C:\PROGRA~1\BLUECF~1\OpenFOAM-5.x\platforms\mingw_w64GccDPInt32Opt\lib\libOpenFOAM.dll
        ZN4Foam17faceAreaWeightAMIINS_14PrimitivePatchINS_4faceENS_7SubListERKNS_5FieldINS_6VectorIdEEEES6_EESA_E14calcAddressingERNS_4ListINS_11DynamicListIiLj0ELj2ELj1EEEEERNSC_INSD_IdLj0ELj2ELj1EEEEESG_SJ_ii [0x63318052+0x1e2]
                 module: C:\PROGRA~1\BLUECF~1\OpenFOAM-5.x\platforms\mingw_w64GccDPInt32Opt\lib\libmeshTools.dll
        ZN4Foam17faceAreaWeightAMIINS_14PrimitivePatchINS_4faceENS_7SubListERKNS_5FieldINS_6VectorIdEEEES6_EESA_E9calculateERNS_4ListINSC_IiEEEERNSC_INSC_IdEEEESF_SI_ii [0x63318cb4+0xf4]
                 module: C:\PROGRA~1\BLUECF~1\OpenFOAM-5.x\platforms\mingw_w64GccDPInt32Opt\lib\libmeshTools.dll
        ZN4Foam16AMIInterpolationINS_14PrimitivePatchINS_4faceENS_7SubListERKNS_5FieldINS_6VectorIdEEEES6_EESA_E6updateERKSA_SD_ [0x6330e6a9+0x339]
                 module: C:\PROGRA~1\BLUECF~1\OpenFOAM-5.x\platforms\mingw_w64GccDPInt32Opt\lib\libmeshTools.dll
        ZN4Foam16AMIInterpolationINS_14PrimitivePatchINS_4faceENS_7SubListERKNS_5FieldINS_6VectorIdEEEES6_EESA_E20constructFromSurfaceERKSA_SD_RKNS_7autoPtrINS_17searchableSurfaceEEE [0x6330d83a+0x5ba]
                 module: C:\PROGRA~1\BLUECF~1\OpenFOAM-5.x\platforms\mingw_w64GccDPInt32Opt\lib\libmeshTools.dll
        ZNK4Foam18cyclicAMIPolyPatch8resetAMIERKNS_16AMIInterpolationINS_14PrimitivePatchINS_4faceENS_7SubListERKNS_5FieldINS_6VectorIdEEEES7_EESB_E19interpolationMethodE [0x632cb8ff+0x71f]
                 module: C:\PROGRA~1\BLUECF~1\OpenFOAM-5.x\platforms\mingw_w64GccDPInt32Opt\lib\libmeshTools.dll
        ZNK4Foam18cyclicAMIPolyPatch3AMIEv [0x632c6203+0x93]
                 module: C:\PROGRA~1\BLUECF~1\OpenFOAM-5.x\platforms\mingw_w64GccDPInt32Opt\lib\libmeshTools.dll
        ZNK4Foam18cyclicAMIPolyPatch24applyLowWeightCorrectionEv [0x632c62a9+0x29]
                 module: C:\PROGRA~1\BLUECF~1\OpenFOAM-5.x\platforms\mingw_w64GccDPInt32Opt\lib\libmeshTools.dll
        ZNK4Foam21cyclicAMIFvPatchFieldIdE19patchNeighbourFieldEv [0x6651da40+0x80]
                 module: C:\PROGRA~1\BLUECF~1\OpenFOAM-5.x\platforms\mingw_w64GccDPInt32Opt\lib\libfiniteVolume.dll
        ZN4Foam19coupledFvPatchFieldIdE8evaluateENS_8UPstream10commsTypesE [0x660bf6da+0x3a]
                 module: C:\PROGRA~1\BLUECF~1\OpenFOAM-5.x\platforms\mingw_w64GccDPInt32Opt\lib\libfiniteVolume.dll
        ZN4Foam21cyclicAMIFvPatchFieldIdEC1ERKNS_7fvPatchERKNS_16DimensionedFieldIdNS_7volMeshEEERKNS_10dictionaryE [0x660db52b+0x18b]
                 module: C:\PROGRA~1\BLUECF~1\OpenFOAM-5.x\platforms\mingw_w64GccDPInt32Opt\lib\libfiniteVolume.dll
        ZN4Foam12fvPatchFieldIdE31adddictionaryConstructorToTableINS_21cyclicAMIFvPatchFieldIdEEE3NewERKNS_7fvPatchERKNS_16DimensionedFieldIdNS_7volMeshEEERKNS_10dictionaryE [0x660172c9+0x39]
                 module: C:\PROGRA~1\BLUECF~1\OpenFOAM-5.x\platforms\mingw_w64GccDPInt32Opt\lib\libfiniteVolume.dll
        (No symbol) [0x407ef6]
                 module: C:\PROGRA~1\BLUECF~1\OpenFOAM-5.x\platforms\mingw_w64GccDPInt32Opt\bin\pimpleFoam.exe
        (No symbol) [0x41098c]
                 module: C:\PROGRA~1\BLUECF~1\OpenFOAM-5.x\platforms\mingw_w64GccDPInt32Opt\bin\pimpleFoam.exe
        (No symbol) [0x40f8e6]
                 module: C:\PROGRA~1\BLUECF~1\OpenFOAM-5.x\platforms\mingw_w64GccDPInt32Opt\bin\pimpleFoam.exe
        (No symbol) [0x40fb4c]
                 module: C:\PROGRA~1\BLUECF~1\OpenFOAM-5.x\platforms\mingw_w64GccDPInt32Opt\bin\pimpleFoam.exe
        (No symbol) [0x41193c]
                 module: C:\PROGRA~1\BLUECF~1\OpenFOAM-5.x\platforms\mingw_w64GccDPInt32Opt\bin\pimpleFoam.exe
        (No symbol) [0x44eda4]
                 module: C:\PROGRA~1\BLUECF~1\OpenFOAM-5.x\platforms\mingw_w64GccDPInt32Opt\bin\pimpleFoam.exe
        (No symbol) [0x4013f7]
                 module: C:\PROGRA~1\BLUECF~1\OpenFOAM-5.x\platforms\mingw_w64GccDPInt32Opt\bin\pimpleFoam.exe
        (No symbol) [0x40152b]
                 module: C:\PROGRA~1\BLUECF~1\OpenFOAM-5.x\platforms\mingw_w64GccDPInt32Opt\bin\pimpleFoam.exe
        BaseThreadInitThunk [0x76f359cd+0xd]
                 module: C:\Windows\system32\kernel32.dll
        RtlUserThreadStart [0x7709383d+0x1d]
                 module: C:\Windows\SYSTEM32\ntdll.dll

This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.
is there anyway to resolve this issue?




here's my boundary file:
Code:
/*--------------------------------*- C++ -*----------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  5.x                                   |
|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
/*   Windows 32 and 64 bit porting by blueCAPE: http://www.bluecape.com.pt   *\
|  Based on Windows porting (2.0.x v4) by Symscape: http://www.symscape.com   |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version     2.0;
    format      binary;
    class       polyBoundaryMesh;
    location    "constant/polyMesh";
    object      boundary;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

10
(
    INLET
    {
        type            patch;
        nFaces          1860;
        startFace       661476;
    }
    OUTLET
    {
        type            patch;
        nFaces          1842;
        startFace       663336;
    }
    BR
    {
        type            patch;
        nFaces          4131;
        startFace       665178;
    }
    BL
    {
        type            patch;
        nFaces          4131;
        startFace       669309;
    }
    UP
    {
        type            patch;
        nFaces          4830;
        startFace       673440;
    }
    LW
    {
        type            patch;
        nFaces          5072;
        startFace       678270;
    }
    INTERFACE
    {
        type            cyclicAMI;
      inGroups        1(cyclicAMI);
        matchTolerance  0.1;
        transform       noOrdering;
    rotationAxis ( 0 0 1 );
    rotationCentre ( 0.273932 0.234316 0.0103284 );
        neighbourPatch  GEARDRV;
        nFaces          33370;
        startFace       683342;
    }
    GEARDRV
    {
        type            cyclicAMI;
      inGroups        1(cyclicAMI);
        matchTolerance  0.1;
        transform       noOrdering;
    rotationAxis  ( 0 0 1 );
    rotationCentre ( 0.273932 0.243851 0.0103284 );
        neighbourPatch  INTERFACE;
        nFaces          17392;
        startFace       716712;
    }
    GEARDVN
    {
        type            cyclicAMI;
      inGroups        1(cyclicAMI);
        matchTolerance  0.1;
        transform       noOrdering;
    rotationAxis  ( 0 0 1 );
    rotationCentre ( 0.273932 0.224781 0.0103284 );
        neighbourPatch  INTERFACE;
        nFaces          15816;
        startFace       734104;
    }
    
    INTERFACE
{
type cyclicAMI
  inGroups        1(cyclicAMI);
        matchTolerance  0.1;
        transform       noOrdering;
    rotationAxis  ( 0 0 1 );
    rotationCentre ( 0.273932 0.234316 0.0103284 );
        neighbourPatch  GEARDVN;
nFaces 33370;
startFace 683342;
}
)

// ************************************************************************* //
Thecomebackkid is offline   Reply With Quote

Old   August 16, 2018, 07:40
Default
  #5
Senior Member
 
Robert
Join Date: May 2015
Location: Bremen, GER
Posts: 292
Rep Power: 12
RobertHB is on a distinguished road
Quote:
Originally Posted by Thecomebackkid View Post
Code:
boundaryField
 {
    DOMAIN
    {
        type            cyclicAMI;
        inGroups        1(cyclicAMI);  ///also what is this for?
        matchTolerance  0.1;
        //transform       rotational;
        neighbourPatch  mrf1, mrf2 ------<< here is my problem it wont take two?
        rotationAxis    (0 0 1);
        rotationCentre  (0 0 0);
        nFaces          1628;
        startFace       171370;
    }
 }
Don't bother with the content of the boundary file. You will not have to change it manually.

inGroups 1(cyclicAMI); - OpenFoam groups patches of a similar type. Your DOMAIN patch is part of one group, namely cyclicAMI
neighbourPatch mrf1, mrf2 - In your blockMeshDict, when creating your domain, you have to give a neighbourPatch to each cyclic patch. E.g. if you have an inlet and an outlet connected by a cyclic boundary condition, you would write for the inlet patch neighbourPatch outlet; and for the outlet patch neighbourPatch inlet;.


As for you latest error:
Quote:
--> FOAM FATAL ERROR:
Unable to set source and target faces
i'd guess its because your two cyclic patches are not lining up propperly. Maybe the is because you commented out the transform command.
__________________
If you liked my answer to your question, please consider leaving a "Like" in return
RobertHB is offline   Reply With Quote

Old   August 16, 2018, 09:12
Default
  #6
New Member
 
zeshan
Join Date: Apr 2016
Posts: 24
Rep Power: 10
Thecomebackkid is on a distinguished road
Quote:
Originally Posted by RobertHB View Post
Don't bother with the content of the boundary file. You will not have to change it manually.

inGroups 1(cyclicAMI); - OpenFoam groups patches of a similar type. Your DOMAIN patch is part of one group, namely cyclicAMI
neighbourPatch mrf1, mrf2 - In your blockMeshDict, when creating your domain, you have to give a neighbourPatch to each cyclic patch. E.g. if you have an inlet and an outlet connected by a cyclic boundary condition, you would write for the inlet patch neighbourPatch outlet; and for the outlet patch neighbourPatch inlet;.


As for you latest error: i'd guess its because your two cyclic patches are not lining up propperly. Maybe the is because you commented out the transform command.

THANKS FOR YOUR REPLY.....I will check this later and may come back to you.
Thecomebackkid is offline   Reply With Quote

Reply

Tags
cyclicami; mrf


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
Problem using AMI vinz OpenFOAM Running, Solving & CFD 298 November 13, 2023 08:19
cyclic / cyclicAMI boundary conditon - ICEM Mesh cyln OpenFOAM Running, Solving & CFD 0 November 7, 2017 15:26
Possible bug with stitchMesh and cyclics in OpenFoam Jack001 OpenFOAM Pre-Processing 0 May 21, 2016 08:00
CyclicAMI issues vabishek OpenFOAM Pre-Processing 1 December 6, 2015 16:37
problem with cyclicAMI and wall distance Maff OpenFOAM Bugs 5 August 14, 2014 14:41


All times are GMT -4. The time now is 21:46.