Sunday, November 11, 2018

search all tutorials for the cyclicAMI boundary condition to figure out how to use it...

/tutorials$ grep -rnw '.' -e 'cyclicAMI'
./multiphase/multiphaseInterDyMFoam/laminar/mixerVesselAMI2D/system/blockMeshDict.m4:791:        type            cyclicAMI;
./multiphase/multiphaseInterDyMFoam/laminar/mixerVesselAMI2D/system/blockMeshDict.m4:818:        type            cyclicAMI;
./multiphase/multiphaseInterDyMFoam/laminar/mixerVesselAMI2D/0.orig/p_rgh:45:        type            cyclicAMI;
./multiphase/multiphaseInterDyMFoam/laminar/mixerVesselAMI2D/0.orig/p_rgh:51:        type            cyclicAMI;
./multiphase/multiphaseInterDyMFoam/laminar/mixerVesselAMI2D/0.orig/alpha.water:45:        type            cyclicAMI;
./multiphase/multiphaseInterDyMFoam/laminar/mixerVesselAMI2D/0.orig/alpha.water:51:        type            cyclicAMI;
./multiphase/multiphaseInterDyMFoam/laminar/mixerVesselAMI2D/0.orig/alpha.oil:45:        type            cyclicAMI;
./multiphase/multiphaseInterDyMFoam/laminar/mixerVesselAMI2D/0.orig/alpha.oil:51:        type            cyclicAMI;
./multiphase/multiphaseInterDyMFoam/laminar/mixerVesselAMI2D/0.orig/alpha.mercury:45:        type            cyclicAMI;
./multiphase/multiphaseInterDyMFoam/laminar/mixerVesselAMI2D/0.orig/alpha.mercury:51:        type            cyclicAMI;
./multiphase/multiphaseInterDyMFoam/laminar/mixerVesselAMI2D/0.orig/alpha.air:45:        type            cyclicAMI;
./multiphase/multiphaseInterDyMFoam/laminar/mixerVesselAMI2D/0.orig/alpha.air:51:        type            cyclicAMI;
./multiphase/multiphaseInterDyMFoam/laminar/mixerVesselAMI2D/0.orig/U:47:        type            cyclicAMI;
./multiphase/multiphaseInterDyMFoam/laminar/mixerVesselAMI2D/0.orig/U:53:        type            cyclicAMI;
./multiphase/interPhaseChangeDyMFoam/propeller/system/createPatchDict:30:            type            cyclicAMI;
./multiphase/interPhaseChangeDyMFoam/propeller/system/createPatchDict:44:            type            cyclicAMI;
./multiphase/interDyMFoam/ras/mixerVesselAMI/system/createBafflesDict:38:                type            cyclicAMI;
./multiphase/interDyMFoam/ras/mixerVesselAMI/system/createBafflesDict:48:                type            cyclicAMI;
./multiphase/interDyMFoam/ras/mixerVesselAMI/0.orig/p_rgh:36:        type            cyclicAMI;
./multiphase/interDyMFoam/ras/mixerVesselAMI/0.orig/nut:44:        type            cyclicAMI;
./multiphase/interDyMFoam/ras/mixerVesselAMI/0.orig/k:44:        type            cyclicAMI;
./multiphase/interDyMFoam/ras/mixerVesselAMI/0.orig/epsilon:44:        type            cyclicAMI;
./multiphase/interDyMFoam/ras/mixerVesselAMI/0.orig/alpha.water:43:        type            cyclicAMI;
./multiphase/interDyMFoam/ras/mixerVesselAMI/0.orig/U:57:        type            cyclicAMI;
./mesh/foamyHexMesh/mixerVessel/system/createBafflesDict:80:                type            cyclicAMI;
./mesh/foamyHexMesh/mixerVessel/system/createBafflesDict:92:                type            cyclicAMI;
./mesh/foamyHexMesh/mixerVessel/0.orig/p_rgh:38:        type            cyclicAMI;
./mesh/foamyHexMesh/mixerVessel/0.orig/nut:44:        type            cyclicAMI;
./mesh/foamyHexMesh/mixerVessel/0.orig/k:44:        type            cyclicAMI;
./mesh/foamyHexMesh/mixerVessel/0.orig/epsilon:44:        type            cyclicAMI;
./mesh/foamyHexMesh/mixerVessel/0.orig/alpha.phase1:43:        type            cyclicAMI;
./mesh/foamyHexMesh/mixerVessel/0.orig/U:57:        type            cyclicAMI;
./incompressible/simpleFoam/pipeCyclic/system/blockMeshDict:80:        type cyclicAMI;
./incompressible/simpleFoam/pipeCyclic/system/blockMeshDict:94:        type cyclicAMI;
./incompressible/pimpleDyMFoam/propeller/system/createPatchDict:30:            type            cyclicAMI;
./incompressible/pimpleDyMFoam/propeller/system/createPatchDict:44:            type            cyclicAMI;
./incompressible/pimpleDyMFoam/oscillatingInletACMI2D/system/createBafflesDict:26:    // NOTE: cyclicAMI patches MUST BE defined PRIOR to their associted
./incompressible/pimpleDyMFoam/mixerVesselAMI2D/system/blockMeshDict.m4:791:        type            cyclicAMI;
./incompressible/pimpleDyMFoam/mixerVesselAMI2D/system/blockMeshDict.m4:818:        type            cyclicAMI;
./incompressible/pimpleDyMFoam/mixerVesselAMI2D/0/p:45:        type            cyclicAMI;
./incompressible/pimpleDyMFoam/mixerVesselAMI2D/0/p:51:        type            cyclicAMI;
./incompressible/pimpleDyMFoam/mixerVesselAMI2D/0/nut:48:        type            cyclicAMI;
./incompressible/pimpleDyMFoam/mixerVesselAMI2D/0/nut:54:        type            cyclicAMI;
./incompressible/pimpleDyMFoam/mixerVesselAMI2D/0/k:48:        type            cyclicAMI;
./incompressible/pimpleDyMFoam/mixerVesselAMI2D/0/k:54:        type            cyclicAMI;
./incompressible/pimpleDyMFoam/mixerVesselAMI2D/0/epsilon:48:        type            cyclicAMI;
./incompressible/pimpleDyMFoam/mixerVesselAMI2D/0/epsilon:54:        type            cyclicAMI;
./incompressible/pimpleDyMFoam/mixerVesselAMI2D/0/U:47:        type            cyclicAMI;
./incompressible/pimpleDyMFoam/mixerVesselAMI2D/0/U:53:        type            cyclicAMI;

Friday, November 9, 2018

example of more (for two faces: preliminary)

    object      boundary;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

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

Thursday, November 8, 2018

start with one square, then work onto more

cat boundary
/*--------------------------------*- 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;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

5
(
    sourceFaceleft
    {
        type            patch;
        nFaces          400;
        startFace       760;
    }
    destinationFaceleft
    {
        type            patch;
        nFaces          400;
        startFace       1160;
    }
    channelWallsleft
    {
        type            patch;
        nFaces          40;
        startFace       1560;
    }
    leftRightWallleft
    {
        type            patch;
        nFaces          20;
        startFace       1600;
    }
    inlet
    {
        type            patch;
        nFaces          20;
        startFace       1620;
    }
)

Tuesday, November 6, 2018

foam

cat log.icoFoam /*---------------------------------------------------------------------------*\ | ========= | | | \\ / 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 07 2018 Time : 00:02:38 Host : "caelinux" PID : 16608 Case : /home/caelinux/OpenFOAM/caelinux-4.1/run/tutorials/incompressible/icoFoam/elbow-twoFace-right 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 50 and ending at line 89" file: /home/caelinux/OpenFOAM/caelinux-4.1/run/tutorials/incompressible/icoFoam/elbow-twoFace-right/0/U at line 89. From function void Foam::primitiveEntry::readEntry(const Foam::dictionary&, Foam::Istream&) in file db/dictionary/primitiveEntry/primitiveEntryIO.C at line 189. FOAM exiting

possible solution

 caelinux@caelinux:~/OpenFOAM/caelinux-4.1/run/tutorials/incompressible/icoFoam/elbow-twoFace-right$ cp system/changeDictionaryDict 0/dictionaryReplacement
caelinux@caelinux:~/OpenFOAM/caelinux-4.1/run/tutorials/incompressible/icoFoam/elbow-twoFace-right$ cd 0
caelinux@caelinux:~/OpenFOAM/caelinux-4.1/run/tutorials/incompressible/icoFoam/elbow-twoFace-right/0$ ls
caelinux@caelinux:~/OpenFOAM/caelinux-4.1/run/tutorials/incompressible/icoFoam/elbow-twoFace-right$ changeDictionary

0$ cat dictionaryReplacement
/*--------------------------------*- 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    "0";
    object      dictionaryReplacement;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

dictionaryReplacement
{
    boundary
    {
        leftRightWallleft
        {
            type            cyclicAMI;
            neighbourPatch  leftRightWallsright;
            transform       noOrdering;
        }
        leftRightWallsright
        {
            type            cyclicAMI;
            neighbourPatch  leftRightWallleft;
            transform       noOrdering;
        }
    }
}

boundary
{
    leftRightWallleft
    {
        type            cyclicAMI;
        neighbourPatch  leftRightWallsright;
        transform       noOrdering;
    }
    leftRightWallsright
    {
        type            cyclicAMI;
        neighbourPatch  leftRightWallleft;
        transform       noOrdering;
    }
}

Monday, November 5, 2018

mergeMeshes experiment

/incompressible/icoFoam$ mergeMeshes elbow-twoFace-right/ elbow-twoFace-left/
/*---------------------------------------------------------------------------*\
| =========                 |                                                 |
| \\      /  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   : mergeMeshes elbow-twoFace-right/ elbow-twoFace-left/
Date   : Nov 06 2018
Time   : 04:40:06
Host   : "caelinux"
PID    : 9319
Case   : /home/caelinux/OpenFOAM/caelinux-4.1/run/tutorials/incompressible/icoFoam
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

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
Master:      "elbow-twoFace-right"  region region0
mesh to add: "elbow-twoFace-left"  region region0

Create Times
Reading master mesh for time = 0.1
Create mesh

Reading mesh to add for time = 0
Create mesh

Writing combined mesh to 0.15
patch names:
10
(
leftRightWallsright
outlet
channelWallsright
destinationFaceright
sourceFaceright
sourceFaceleft
destinationFaceleft
channelWallsleft
leftRightWallleft
inlet
)

patch dicts:
10
(

{
    type            patch;
    nFaces          40;
    startFace       4640;
}


{
    type            patch;
    nFaces          40;
    startFace       4680;
}


{
    type            patch;
    nFaces          80;
    startFace       4720;
}


{
    type            patch;
    nFaces          1600;
    startFace       4800;
}


{
    type            patch;
    nFaces          1600;
    startFace       6400;
}


{
    type            patch;
    nFaces          800;
    startFace       8000;
}


{
    type            patch;
    nFaces          800;
    startFace       8800;
}


{
    type            patch;
    nFaces          80;
    startFace       9600;
}


{
    type            patch;
    nFaces          40;
    startFace       9680;
}


{
    type            patch;
    nFaces          40;
    startFace       9720;
}

)

point zone names: 0()
face zone names: 0()
cell zone names: 0()
End