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

activeBaffleVelocity boundary condition ?

Register Blogs Community New Posts Updated Threads Search

Like Tree6Likes
  • 1 Post By Steve80
  • 1 Post By Marpole
  • 1 Post By Steve80
  • 1 Post By Marpole
  • 2 Post By Marpole

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   April 9, 2010, 17:13
Default activeBaffleVelocity boundary condition ?
  #1
New Member
 
Marco
Join Date: Mar 2010
Posts: 9
Rep Power: 16
om3ro is on a distinguished road
does anybody know how to implement the activeBaffleVelocity b.c. which "dynamically combines cyclic and wall patches so that the flow through the patch can be controlled e.g. by pressure drop".

Does exist any example?

thanks
marco
om3ro is offline   Reply With Quote

Old   January 23, 2012, 15:39
Default
  #2
New Member
 
Gregory N de Boer
Join Date: Dec 2011
Posts: 12
Rep Power: 15
gregdB is on a distinguished road
Hi Marco,

Did you ever find out how this works?

Cheers,
Greg
gregdB is offline   Reply With Quote

Old   January 23, 2012, 18:55
Default
  #3
New Member
 
Marco
Join Date: Mar 2010
Posts: 9
Rep Power: 16
om3ro is on a distinguished road
Greg,

at the end I gave up with that b.c. ...

Marco
om3ro is offline   Reply With Quote

Old   July 15, 2014, 12:14
Default
  #4
New Member
 
Join Date: Apr 2014
Posts: 9
Rep Power: 12
Josefina is on a distinguished road
Hi Marco,

I want to use activeBaffleVelocity condition for one of my simulations. For the moment, I can not resolve the bugs.

As you have also some problems with this kind of condition. Have you found any alternative solution that could replace it?

Thank you very much!!
Josefina is offline   Reply With Quote

Old   November 18, 2014, 09:36
Default
  #5
New Member
 
Nicolas Desmars
Join Date: Jul 2014
Location: France
Posts: 1
Rep Power: 0
nicolorado is on a distinguished road
Hi everybody,

Maybe this document could help somebody.

Cheers,

Nicolas
Attached Files
File Type: zip An understanding of activeBaffleVelocity.docx.zip (96.3 KB, 217 views)
nicolorado is offline   Reply With Quote

Old   June 21, 2017, 12:10
Default
  #6
New Member
 
Join Date: Jun 2017
Posts: 1
Rep Power: 0
Bascud is on a distinguished road
Hello everyone,

i am an amateur and I don't get the boundary condition 'activeBaffleVelocity' to work. I hope you can help me. I am trying to simulate a pump with two pistons and three check valves. One in front of of the first pumping chamber, second in the middle of the two chambers, and the third after the second chamber.

I created Baffles at the position, where the checkvalves should be and defined them as 'type cyclic'. When I use the bc activeBaffleVelocity in the U file, I get an error message:
'inconsistent patch and patchField types for
patch type cyclic and patchField type activeBaffleVelocity'

Here my code:
blockMeshDict
Code:
/*--------------------------------*- C++ -*----------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  4.0                                   |
|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version     2.0;
    format      ascii;
    class       dictionary;
    object      blockMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

convertToMeters 1;

vertices
(    //x    //y    //z
    (0    0    0)    // #0
    (9.9    0    0)    // #1
    (10    0    0)    // #2
    (12    0    0)    // #3
    (12.1    0    0)    // #4
    (13.1    0    0)    // #5
    (14.1    0    0)    // #6
    (14.2    0    0)    // #7
    (17.6    0    0)    // #8
    (17.7    0    0)    // #9
    (27.6    0    0)    // #10

    (27.6    1    0)    // #11
    (17.7    1    0)    // #12
    (17.6    1    0)    // #13
    (17.6    1.1    0)    // #14
    (17.6    3    0)    // #15
    (14.2    3    0)    // #16
    (14.2    1.1    0)    // #17
    (14.2    1    0)    // #18
    (14.1    1    0)    // #19
    (13.1    1    0)    // #20
    (12.1    1    0)    // #21
    (12    1    0)    // #22
    (12    1.1    0)    // #23
    (12    3    0)    // #24
    (10    3    0)    // #25
    (10    1.1    0)    // #26
    (10    1    0)    // #27
    (9.9    1    0)    // #28
    (0    1    0)    // #29

    (0    0    0.1)    // #30
    (9.9    0    0.1)    // #31
    (10    0    0.1)    // #32
    (12    0    0.1)    // #33
    (12.1    0    0.1)    // #34
    (13.1    0    0.1)    // #35
    (14.1    0    0.1)    // #36
    (14.2    0    0.1)    // #37
    (17.6    0    0.1)    // #38
    (17.7    0    0.1)    // #39
    (27.6    0    0.1)    // #40

    (27.6    1    0.1)    // #41
    (17.7    1    0.1)    // #42
    (17.6    1    0.1)    // #43
    (17.6    1.1    0.1)    // #44
    (17.6    3    0.1)    // #45
    (14.2    3    0.1)    // #46
    (14.2    1.1    0.1)    // #47
    (14.2    1    0.1)    // #48
    (14.1    1    0.1)    // #49
    (13.1    1    0.1)    // #50
    (12.1    1    0.1)    // #51
    (12    1    0.1)    // #52
    (12    1.1    0.1)    // #53
    (12    3    0.1)    // #54
    (10    3    0.1)    // #55
    (10    1.1    0.1)    // #56
    (10    1    0.1)    // #57
    (9.9    1    0.1)    // #58
    (0    1    0.1)    // #59

);

blocks
(
       hex (0 1 28 29 30 31 58 59) valve1 (99 10 1) simpleGrading (1 1 1)        // #1
    hex (1 2 27 28 31 32 57 58) valve2 (1 10 1) simpleGrading (1 1 1)        // #2
    hex (2 3 22 27 32 33 52 57) (20 10 1) simpleGrading (1 1 1)        // #3
    hex (3 4 21 22 33 34 51 52) (1 10 1) simpleGrading (1 1 1)        // #4
    hex (4 5 20 21 34 35 50 51) valve5 (10 10 1) simpleGrading (1 1 1)        // #5
    hex (5 6 19 20 35 36 49 50) valve6 (10 10 1) simpleGrading (1 1 1)        // #6
    hex (6 7 18 19 36 37 48 49) (1 10 1) simpleGrading (1 1 1)        // #7
    hex (7 8 13 18 37 38 43 48) (34 10 1) simpleGrading (1 1 1)        // #8
    hex (8 9 12 13 38 39 42 43) valve9 (1 10 1) simpleGrading (1 1 1)        // #9
    hex (9 10 11 12 39 40 41 42) valve10 (99 10 1) simpleGrading (1 1 1)        // #10
    hex (18 13 14 17 48 43 44 47) (34 1 1) simpleGrading (1 1 1)        // #11
    hex (17 14 15 16 47 44 45 46) (34 20 1) simpleGrading (1 1 1)        // #12
    hex (27 22 23 26 57 52 53 56) (20 1 1) simpleGrading (1 1 1)        // #13
    hex (26 23 24 25 56 53 54 55) (20 20 1) simpleGrading (1 1 1)        // #14
    
);

edges
(
);

boundary
(
    entry
        {
        type patch;
        faces
        (
            (0 29 30 59)
        );
    }

    outlet
        {
        type patch;
        faces
        (
            (10 11 40 41)
        );
    }

    walls
    {
    type wall;
    faces
        (
            (0 1 31 30)
            (1 2 32 31)
            (2 3 33 32)
            (3 4 34 33)
            (4 5 35 34)
            (5 6 36 35)
            (6 7 37 36)
            (7 8 38 37)
            (8 9 39 38)
            (9 10 40 39)
            (12 11 41 42)
            (13 12 42 43)
            (13 14 44 43)
            (18 17 47 48)
            (19 18 49 48)
            (20 19 49 50)
            (21 20 50 51)
            (22 21 51 52)
            (22 23 53 52)
            (27 26 56 57)
            (28 27 57 58)
            (29 28 58 59)
        );
    }

    front
        {
        type empty;
        faces
        (
            (0 1 28 29)
            (1 2 27 28)
            (2 3 22 27)
            (3 4 21 22)
            (4 5 20 21)
            (5 6 19 20)
            (6 7 18 19)
            (7 8 13 18)
            (8 9 12 13)
            (9 10 11 12)
            (18 13 14 17)
            (17 14 15 16)
            (27 22 23 26)
            (26 23 24 25)
        );
    }

    back
        {
        type empty;
        faces
        (
            (30 31 58 59)
            (31 32 57 58)
            (32 33 52 57)
            (33 34 51 52)
            (34 35 50 51)
            (35 36 49 50)
            (36 37 48 49)
            (37 38 43 48)
            (38 39 42 43)
            (39 40 41 42)
            (48 43 44 47)
            (47 44 45 46)
            (57 52 53 56)
            (56 53 54 55)
        );
    }

    chamber
    {
    type patch;
    faces
        (
            (26 25 55 56)
            (17 16 46 47)
            (23 24 54 53)
            (14 15 45 44)
        );
    }

    firstMovingWall
        {
        type patch;
        faces
        (
            (25 24 54 55)
        );
    }

    secondMovingWall
        {
        type patch;
        faces
        (
            (16 15 45 46)
        );
    }

);

/*internal
(
    valve
        {
        type patch;
        faces
        (
            (5 20 50 35)
        );
    }
);*/

mergePatchPairs
(
);

// ************************************************************************* //
topoSetDict
Code:
/*--------------------------------*- C++ -*----------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  4.0                                   |
|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version     2.0;
    format      ascii;
    class       dictionary;
    object      topoSetDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

actions
(

    // ~~~~~~~~~~~~~~~~~~~~~
// valve56
    {
    name csValve5;
    type cellSet;
    action new;
    source zoneToCell;
    sourceInfo
        {
        name valve5;
        }
    }
    {
    name csValve6;
    type cellSet;
    action new;
    source zoneToCell;
    sourceInfo
        {
        name valve6;// Matching faces with block27 are to become a baffle.
        }
    }

    {
        name    fsValve56;
        type    faceSet;
        action  new;
        source  cellToFace;
        sourceInfo
            {
        set    csValve5;
        option all;
            }
    }

    {  
    name    fsValve56;
    type    faceSet;
    action    subset;
    source    cellToFace;
    sourceInfo
            {
        set    csValve6;
        option all;
            }
    }

    {
    name fzsValve56;
    type faceZoneSet;
    action new;
    source setToFaceZone;
    sourceInfo
        {
            faceSet fsValve56;
        }
    }
//valve12

    {
    name csValve1;
    type cellSet;
    action new;
    source zoneToCell;
    sourceInfo
        {
        name valve1;
        }
    }
    {
    name csValve2;
    type cellSet;
    action new;
    source zoneToCell;
    sourceInfo
        {
        name valve2;// Matching faces with block27 are to become a baffle.
        }
    }

    {
        name    fsValve12;
        type    faceSet;
        action  new;
        source  cellToFace;
        sourceInfo
            {
        set    csValve1;
        option all;
            }
    }

    {  
    name    fsValve12;
    type    faceSet;
    action    subset;
    source    cellToFace;
    sourceInfo
            {
        set    csValve2;
        option all;
            }
    }

    {
    name fzsValve12;
    type faceZoneSet;
    action new;
    source setToFaceZone;
    sourceInfo
        {
            faceSet fsValve12;
        }
    }

// valve910
    {
    name csValve9;
    type cellSet;
    action new;
    source zoneToCell;
    sourceInfo
        {
        name valve9;
        }
    }
    {
    name csValve10;
    type cellSet;
    action new;
    source zoneToCell;
    sourceInfo
        {
        name valve10;// Matching faces with block27 are to become a baffle.
        }
    }

    {
        name    fsValve910;
        type    faceSet;
        action  new;
        source  cellToFace;
        sourceInfo
            {
        set    csValve9;
        option all;
            }
    }

    {  
    name    fsValve910;
    type    faceSet;
    action    subset;
    source    cellToFace;
    sourceInfo
            {
        set    csValve10;
        option all;
            }
    }

    {
    name fzsValve910;
    type faceZoneSet;
    action new;
    source setToFaceZone;
    sourceInfo
        {
            faceSet fsValve910;
        }
    }


    // Create cellZone for moving cells in inlet channel
    /*{
        name    inletChannelCellSet;
        type    cellSet;
        action  new;
        source  boxToCell;
        sourceInfo
        {
            box     (-100 -100 -100) (1.0001 100 100);
        }
    }
    {
        name    inletChannel;
        type    cellZoneSet;
        action  new;
        source  setToCellZone;
        sourceInfo
        {
            set     inletChannelCellSet;
        }
    }*/
);

// ************************************************************************* //
createBaffleDict
Code:
/*--------------------------------*- C++ -*----------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  4.0                                   |
|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version     2.0;
    format      ascii;
    class       dictionary;
    object      createBafflesDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

// Whether to convert internal faces only (so leave boundary faces intact).
// This is only relevant if your face selection type can pick up boundary
// faces.
internalFacesOnly true;


// Baffles to create.
baffles
{

    valve56Baffle
    {
    //- Use predefined faceZone to select faces and orientation.
        type faceZone;
        zoneName fzsValve56;

        patches
        {
            master
            {
            //- Master side patch

                name         baf5;
                type         cyclic;
                neighbourPatch    baf6;
            }
            slave
            {
            //- Slave side patch

                name         baf6;
                type         cyclic;
                neighbourPatch    baf5;
            }
        }

    }

    valve12Baffle
    {
    //- Use predefined faceZone to select faces and orientation.
        type faceZone;
        zoneName fzsValve12;

        patches
        {
            master
            {
            //- Master side patch

                name         baf1;
                type        cyclic;
                neighbourPatch  baf2;
            }
            slave
            {
            //- Slave side patch

                name         baf2;
                type        cyclic;
                neighbourPatch     baf1;
            }
        }

    }

    valve910Baffle
    {
    //- Use predefined faceZone to select faces and orientation.
        type faceZone;
        zoneName fzsValve910;

        patches
        {
            master
            {
            //- Master side patch

                name         baf9;
                type         cyclic;
                neighbourPatch     baf10;
            }
            slave
            {
            //- Slave side patch

                name         baf10;
                type         cyclic;
                neighbourPatch     baf9;
            }
        }

    }            
}



// ************************************************************************* //
U
Code:
/*--------------------------------*- C++ -*----------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  4.0                                   |
|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version     2.0;
    format      ascii;
    class       volVectorField;
    location    "0.001";
    object      U;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

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

internalField   uniform (0 0 0);

boundaryField
{
    entry
    {
        type            pressureInletOutletVelocity;
        value           uniform (0 0 0);
    }
    outlet
    {
        type            pressureInletOutletVelocity;
        value           uniform (0 0 0);
    }
    walls
    {
        type            noSlip;
    }
    front
    {
        type            empty;
    }
    back
    {
        type            empty;
    }
    chamber
    {
        type            noSlip;
    }
    firstMovingWall
    {
        type            movingWallVelocity;
        value           uniform (0 0 0);
    }
    secondMovingWall
    {
        type            movingWallVelocity;
        value           uniform (0 0 0);
    }
    baf5
    {
        type            cyclic;
    }
    baf6
    {
        type            cyclic;
    }
    baf1
    {
        type            activeBaffleVelocity;
        p               p;
        cyclicPatch     baf1;
        orientation     1;
        openFraction    1;
        openingTime     0.001;
        maxOpenFractionDelta 1;

    
    }
    baf2
    {
        type            cyclic;
    }
    baf9
    {
        type            cyclic;
    }
    baf10
    {
        type            cyclic;
    }
}


// ************************************************************************* //
p
Code:
/*--------------------------------*- C++ -*----------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  4.0                                   |
|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version     2.0;
    format      ascii;
    class       volScalarField;
    location    "0.001";
    object      p;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

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

internalField   uniform 0;

boundaryField
{
    entry
    {
        type            totalPressure;
        rho             rho;
        psi             none;
        gamma           1;
        p0              uniform 0;
        value           uniform 0;
    }
    outlet
    {
        type            totalPressure;
        rho             rho;
        psi             none;
        gamma           1;
        p0              uniform 0;
        value           uniform 0;
    }
    walls
    {
        type            zeroGradient;
    }
    front
    {
        type            empty;
    }
    back
    {
        type            empty;
    }
    chamber
    {
        type            zeroGradient;
    }
    firstMovingWall
    {
        type            zeroGradient;
    }
    secondMovingWall
    {
        type            zeroGradient;
    }
    baf5
    {
        type            cyclic;
    }
    baf6
    {
        type            cyclic;
    }
    baf1
    {
        type            cyclic;
    }
    baf2
    {
        type            cyclic;
    }
    baf9
    {
        type            cyclic;
    }
    baf10
    {
        type            cyclic;
    }
}


// ************************************************************************* //
In this code i am just trying to get valve12 to work.

I hope someone can give some advice

Thanks and best regards.
Bascud is offline   Reply With Quote

Old   November 13, 2020, 10:45
Default
  #7
New Member
 
Stephan
Join Date: Aug 2017
Posts: 6
Rep Power: 9
Steve80 is on a distinguished road
Quote:
Originally Posted by Bascud View Post
Hello everyone,

i am an amateur and I don't get the boundary condition 'activeBaffleVelocity' to work. I hope you can help me. I am trying to simulate a pump with two pistons and three check valves. One in front of of the first pumping chamber, second in the middle of the two chambers, and the third after the second chamber.

I created Baffles at the position, where the checkvalves should be and defined them as 'type cyclic'. When I use the bc activeBaffleVelocity in the U file, I get an error message:
'inconsistent patch and patchField types for
patch type cyclic and patchField type activeBaffleVelocity'

Here my code:
blockMeshDict
Code:
/*--------------------------------*- C++ -*----------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  4.0                                   |
|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version     2.0;
    format      ascii;
    class       dictionary;
    object      blockMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

convertToMeters 1;

vertices
(    //x    //y    //z
    (0    0    0)    // #0
    (9.9    0    0)    // #1
    (10    0    0)    // #2
    (12    0    0)    // #3
    (12.1    0    0)    // #4
    (13.1    0    0)    // #5
    (14.1    0    0)    // #6
    (14.2    0    0)    // #7
    (17.6    0    0)    // #8
    (17.7    0    0)    // #9
    (27.6    0    0)    // #10

    (27.6    1    0)    // #11
    (17.7    1    0)    // #12
    (17.6    1    0)    // #13
    (17.6    1.1    0)    // #14
    (17.6    3    0)    // #15
    (14.2    3    0)    // #16
    (14.2    1.1    0)    // #17
    (14.2    1    0)    // #18
    (14.1    1    0)    // #19
    (13.1    1    0)    // #20
    (12.1    1    0)    // #21
    (12    1    0)    // #22
    (12    1.1    0)    // #23
    (12    3    0)    // #24
    (10    3    0)    // #25
    (10    1.1    0)    // #26
    (10    1    0)    // #27
    (9.9    1    0)    // #28
    (0    1    0)    // #29

    (0    0    0.1)    // #30
    (9.9    0    0.1)    // #31
    (10    0    0.1)    // #32
    (12    0    0.1)    // #33
    (12.1    0    0.1)    // #34
    (13.1    0    0.1)    // #35
    (14.1    0    0.1)    // #36
    (14.2    0    0.1)    // #37
    (17.6    0    0.1)    // #38
    (17.7    0    0.1)    // #39
    (27.6    0    0.1)    // #40

    (27.6    1    0.1)    // #41
    (17.7    1    0.1)    // #42
    (17.6    1    0.1)    // #43
    (17.6    1.1    0.1)    // #44
    (17.6    3    0.1)    // #45
    (14.2    3    0.1)    // #46
    (14.2    1.1    0.1)    // #47
    (14.2    1    0.1)    // #48
    (14.1    1    0.1)    // #49
    (13.1    1    0.1)    // #50
    (12.1    1    0.1)    // #51
    (12    1    0.1)    // #52
    (12    1.1    0.1)    // #53
    (12    3    0.1)    // #54
    (10    3    0.1)    // #55
    (10    1.1    0.1)    // #56
    (10    1    0.1)    // #57
    (9.9    1    0.1)    // #58
    (0    1    0.1)    // #59

);

blocks
(
       hex (0 1 28 29 30 31 58 59) valve1 (99 10 1) simpleGrading (1 1 1)        // #1
    hex (1 2 27 28 31 32 57 58) valve2 (1 10 1) simpleGrading (1 1 1)        // #2
    hex (2 3 22 27 32 33 52 57) (20 10 1) simpleGrading (1 1 1)        // #3
    hex (3 4 21 22 33 34 51 52) (1 10 1) simpleGrading (1 1 1)        // #4
    hex (4 5 20 21 34 35 50 51) valve5 (10 10 1) simpleGrading (1 1 1)        // #5
    hex (5 6 19 20 35 36 49 50) valve6 (10 10 1) simpleGrading (1 1 1)        // #6
    hex (6 7 18 19 36 37 48 49) (1 10 1) simpleGrading (1 1 1)        // #7
    hex (7 8 13 18 37 38 43 48) (34 10 1) simpleGrading (1 1 1)        // #8
    hex (8 9 12 13 38 39 42 43) valve9 (1 10 1) simpleGrading (1 1 1)        // #9
    hex (9 10 11 12 39 40 41 42) valve10 (99 10 1) simpleGrading (1 1 1)        // #10
    hex (18 13 14 17 48 43 44 47) (34 1 1) simpleGrading (1 1 1)        // #11
    hex (17 14 15 16 47 44 45 46) (34 20 1) simpleGrading (1 1 1)        // #12
    hex (27 22 23 26 57 52 53 56) (20 1 1) simpleGrading (1 1 1)        // #13
    hex (26 23 24 25 56 53 54 55) (20 20 1) simpleGrading (1 1 1)        // #14
    
);

edges
(
);

boundary
(
    entry
        {
        type patch;
        faces
        (
            (0 29 30 59)
        );
    }

    outlet
        {
        type patch;
        faces
        (
            (10 11 40 41)
        );
    }

    walls
    {
    type wall;
    faces
        (
            (0 1 31 30)
            (1 2 32 31)
            (2 3 33 32)
            (3 4 34 33)
            (4 5 35 34)
            (5 6 36 35)
            (6 7 37 36)
            (7 8 38 37)
            (8 9 39 38)
            (9 10 40 39)
            (12 11 41 42)
            (13 12 42 43)
            (13 14 44 43)
            (18 17 47 48)
            (19 18 49 48)
            (20 19 49 50)
            (21 20 50 51)
            (22 21 51 52)
            (22 23 53 52)
            (27 26 56 57)
            (28 27 57 58)
            (29 28 58 59)
        );
    }

    front
        {
        type empty;
        faces
        (
            (0 1 28 29)
            (1 2 27 28)
            (2 3 22 27)
            (3 4 21 22)
            (4 5 20 21)
            (5 6 19 20)
            (6 7 18 19)
            (7 8 13 18)
            (8 9 12 13)
            (9 10 11 12)
            (18 13 14 17)
            (17 14 15 16)
            (27 22 23 26)
            (26 23 24 25)
        );
    }

    back
        {
        type empty;
        faces
        (
            (30 31 58 59)
            (31 32 57 58)
            (32 33 52 57)
            (33 34 51 52)
            (34 35 50 51)
            (35 36 49 50)
            (36 37 48 49)
            (37 38 43 48)
            (38 39 42 43)
            (39 40 41 42)
            (48 43 44 47)
            (47 44 45 46)
            (57 52 53 56)
            (56 53 54 55)
        );
    }

    chamber
    {
    type patch;
    faces
        (
            (26 25 55 56)
            (17 16 46 47)
            (23 24 54 53)
            (14 15 45 44)
        );
    }

    firstMovingWall
        {
        type patch;
        faces
        (
            (25 24 54 55)
        );
    }

    secondMovingWall
        {
        type patch;
        faces
        (
            (16 15 45 46)
        );
    }

);

/*internal
(
    valve
        {
        type patch;
        faces
        (
            (5 20 50 35)
        );
    }
);*/

mergePatchPairs
(
);

// ************************************************************************* //
topoSetDict
Code:
/*--------------------------------*- C++ -*----------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  4.0                                   |
|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version     2.0;
    format      ascii;
    class       dictionary;
    object      topoSetDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

actions
(

    // ~~~~~~~~~~~~~~~~~~~~~
// valve56
    {
    name csValve5;
    type cellSet;
    action new;
    source zoneToCell;
    sourceInfo
        {
        name valve5;
        }
    }
    {
    name csValve6;
    type cellSet;
    action new;
    source zoneToCell;
    sourceInfo
        {
        name valve6;// Matching faces with block27 are to become a baffle.
        }
    }

    {
        name    fsValve56;
        type    faceSet;
        action  new;
        source  cellToFace;
        sourceInfo
            {
        set    csValve5;
        option all;
            }
    }

    {  
    name    fsValve56;
    type    faceSet;
    action    subset;
    source    cellToFace;
    sourceInfo
            {
        set    csValve6;
        option all;
            }
    }

    {
    name fzsValve56;
    type faceZoneSet;
    action new;
    source setToFaceZone;
    sourceInfo
        {
            faceSet fsValve56;
        }
    }
//valve12

    {
    name csValve1;
    type cellSet;
    action new;
    source zoneToCell;
    sourceInfo
        {
        name valve1;
        }
    }
    {
    name csValve2;
    type cellSet;
    action new;
    source zoneToCell;
    sourceInfo
        {
        name valve2;// Matching faces with block27 are to become a baffle.
        }
    }

    {
        name    fsValve12;
        type    faceSet;
        action  new;
        source  cellToFace;
        sourceInfo
            {
        set    csValve1;
        option all;
            }
    }

    {  
    name    fsValve12;
    type    faceSet;
    action    subset;
    source    cellToFace;
    sourceInfo
            {
        set    csValve2;
        option all;
            }
    }

    {
    name fzsValve12;
    type faceZoneSet;
    action new;
    source setToFaceZone;
    sourceInfo
        {
            faceSet fsValve12;
        }
    }

// valve910
    {
    name csValve9;
    type cellSet;
    action new;
    source zoneToCell;
    sourceInfo
        {
        name valve9;
        }
    }
    {
    name csValve10;
    type cellSet;
    action new;
    source zoneToCell;
    sourceInfo
        {
        name valve10;// Matching faces with block27 are to become a baffle.
        }
    }

    {
        name    fsValve910;
        type    faceSet;
        action  new;
        source  cellToFace;
        sourceInfo
            {
        set    csValve9;
        option all;
            }
    }

    {  
    name    fsValve910;
    type    faceSet;
    action    subset;
    source    cellToFace;
    sourceInfo
            {
        set    csValve10;
        option all;
            }
    }

    {
    name fzsValve910;
    type faceZoneSet;
    action new;
    source setToFaceZone;
    sourceInfo
        {
            faceSet fsValve910;
        }
    }


    // Create cellZone for moving cells in inlet channel
    /*{
        name    inletChannelCellSet;
        type    cellSet;
        action  new;
        source  boxToCell;
        sourceInfo
        {
            box     (-100 -100 -100) (1.0001 100 100);
        }
    }
    {
        name    inletChannel;
        type    cellZoneSet;
        action  new;
        source  setToCellZone;
        sourceInfo
        {
            set     inletChannelCellSet;
        }
    }*/
);

// ************************************************************************* //
createBaffleDict
Code:
/*--------------------------------*- C++ -*----------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  4.0                                   |
|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version     2.0;
    format      ascii;
    class       dictionary;
    object      createBafflesDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

// Whether to convert internal faces only (so leave boundary faces intact).
// This is only relevant if your face selection type can pick up boundary
// faces.
internalFacesOnly true;


// Baffles to create.
baffles
{

    valve56Baffle
    {
    //- Use predefined faceZone to select faces and orientation.
        type faceZone;
        zoneName fzsValve56;

        patches
        {
            master
            {
            //- Master side patch

                name         baf5;
                type         cyclic;
                neighbourPatch    baf6;
            }
            slave
            {
            //- Slave side patch

                name         baf6;
                type         cyclic;
                neighbourPatch    baf5;
            }
        }

    }

    valve12Baffle
    {
    //- Use predefined faceZone to select faces and orientation.
        type faceZone;
        zoneName fzsValve12;

        patches
        {
            master
            {
            //- Master side patch

                name         baf1;
                type        cyclic;
                neighbourPatch  baf2;
            }
            slave
            {
            //- Slave side patch

                name         baf2;
                type        cyclic;
                neighbourPatch     baf1;
            }
        }

    }

    valve910Baffle
    {
    //- Use predefined faceZone to select faces and orientation.
        type faceZone;
        zoneName fzsValve910;

        patches
        {
            master
            {
            //- Master side patch

                name         baf9;
                type         cyclic;
                neighbourPatch     baf10;
            }
            slave
            {
            //- Slave side patch

                name         baf10;
                type         cyclic;
                neighbourPatch     baf9;
            }
        }

    }            
}



// ************************************************************************* //
U
Code:
/*--------------------------------*- C++ -*----------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  4.0                                   |
|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version     2.0;
    format      ascii;
    class       volVectorField;
    location    "0.001";
    object      U;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

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

internalField   uniform (0 0 0);

boundaryField
{
    entry
    {
        type            pressureInletOutletVelocity;
        value           uniform (0 0 0);
    }
    outlet
    {
        type            pressureInletOutletVelocity;
        value           uniform (0 0 0);
    }
    walls
    {
        type            noSlip;
    }
    front
    {
        type            empty;
    }
    back
    {
        type            empty;
    }
    chamber
    {
        type            noSlip;
    }
    firstMovingWall
    {
        type            movingWallVelocity;
        value           uniform (0 0 0);
    }
    secondMovingWall
    {
        type            movingWallVelocity;
        value           uniform (0 0 0);
    }
    baf5
    {
        type            cyclic;
    }
    baf6
    {
        type            cyclic;
    }
    baf1
    {
        type            activeBaffleVelocity;
        p               p;
        cyclicPatch     baf1;
        orientation     1;
        openFraction    1;
        openingTime     0.001;
        maxOpenFractionDelta 1;

    
    }
    baf2
    {
        type            cyclic;
    }
    baf9
    {
        type            cyclic;
    }
    baf10
    {
        type            cyclic;
    }
}


// ************************************************************************* //
p
Code:
/*--------------------------------*- C++ -*----------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  4.0                                   |
|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version     2.0;
    format      ascii;
    class       volScalarField;
    location    "0.001";
    object      p;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

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

internalField   uniform 0;

boundaryField
{
    entry
    {
        type            totalPressure;
        rho             rho;
        psi             none;
        gamma           1;
        p0              uniform 0;
        value           uniform 0;
    }
    outlet
    {
        type            totalPressure;
        rho             rho;
        psi             none;
        gamma           1;
        p0              uniform 0;
        value           uniform 0;
    }
    walls
    {
        type            zeroGradient;
    }
    front
    {
        type            empty;
    }
    back
    {
        type            empty;
    }
    chamber
    {
        type            zeroGradient;
    }
    firstMovingWall
    {
        type            zeroGradient;
    }
    secondMovingWall
    {
        type            zeroGradient;
    }
    baf5
    {
        type            cyclic;
    }
    baf6
    {
        type            cyclic;
    }
    baf1
    {
        type            cyclic;
    }
    baf2
    {
        type            cyclic;
    }
    baf9
    {
        type            cyclic;
    }
    baf10
    {
        type            cyclic;
    }
}


// ************************************************************************* //
In this code i am just trying to get valve12 to work.

I hope someone can give some advice

Thanks and best regards.
Hello everyone,

this is a pretty old thread, but the only one, I could find adressing the `activeBaffleVelocity` or `activePressureForceBaffleVelocityFvPatchVectorFiel d`patches.


I've been trying to use this patch by specifying:
* polyMesh/boundary -> type cyclic;
* 0/U -> type activePressureForceBaffleVelocity
* 0/otherFiles -> type cyclic;
but always end up with the error message:

```
--> FOAM FATAL IO ERROR:
inconsistent patch and patchField types for
patch type cyclic and patchField type activePressureForceBaffleVelocity
```

Can anyone provide me some hint on how to use this patch ?
Thanks a lot in advance


Stephan
the_ichthyologist likes this.
Steve80 is offline   Reply With Quote

Old   November 15, 2020, 02:33
Default
  #8
Senior Member
 
Charles
Join Date: Aug 2016
Location: Vancouver, Canada
Posts: 151
Rep Power: 10
Marpole is on a distinguished road
I tested the code and repeated your errors. It works though if I change to other patchField type such as fanPressureJump (still cyclic patch). Though this is just for a testing purpose, it indicates that there might be a bug in the current version (openfoam 7), unfortunately.
the_ichthyologist likes this.
__________________
Charles L.
Marpole is offline   Reply With Quote

Old   November 16, 2020, 12:20
Default
  #9
New Member
 
Stephan
Join Date: Aug 2017
Posts: 6
Rep Power: 9
Steve80 is on a distinguished road
Thanks a lot, Charles!
In the meantime, I also made some progress. I found (by using `foamInfo activePressure`) a tutorial case:
https://develop.openfoam.com/Develop...nWithObstacles
(or the corresponding foundation version)



Actually, it took me a while to undestand how to prepare the mesh. One has to use the PDRMesh tool, which will generate a duplice patch (the faces are duplicated), which can be defined twice, once as a wall and once as a cyclic patch.

So it is a bit difficult to use with arbitrary imported meshes, but I managed to get it run with blockMesh as described in the tutorial.

Best regards
Stephan
the_ichthyologist likes this.
Steve80 is offline   Reply With Quote

Old   November 16, 2020, 13:12
Default
  #10
Senior Member
 
Charles
Join Date: Aug 2016
Location: Vancouver, Canada
Posts: 151
Rep Power: 10
Marpole is on a distinguished road
Hi Stephan,

That's very interesting as fanPressureJump uses the same concept, i.e. building a wall patch and a cyclic patch on the same surface with createBaffles.

Quote:
Originally Posted by Steve80 View Post
Thanks a lot, Charles!
In the meantime, I also made some progress. I found (by using `foamInfo activePressure`) a tutorial case:
https://develop.openfoam.com/Develop...nWithObstacles
(or the corresponding foundation version)



Actually, it took me a while to undestand how to prepare the mesh. One has to use the PDRMesh tool, which will generate a duplice patch (the faces are duplicated), which can be defined twice, once as a wall and once as a cyclic patch.

So it is a bit difficult to use with arbitrary imported meshes, but I managed to get it run with blockMesh as described in the tutorial.

Best regards
Stephan
the_ichthyologist likes this.
__________________
Charles L.
Marpole is offline   Reply With Quote

Old   November 17, 2020, 00:26
Default
  #11
Senior Member
 
Charles
Join Date: Aug 2016
Location: Vancouver, Canada
Posts: 151
Rep Power: 10
Marpole is on a distinguished road
Attached is my investigation progress. Similar to the tutorial, 3 patches are created which are basically from the same face set. 2 of them are cyclic type patches (master and slave), and one is wall type patch. The wall type patch is consistent with activeBaffleVelocity, but not the cyclic patch.

The model can run without error. But the result is difficult to explain. Free feel to make changes to make it correct.

In order to run the model, one needs to follow 3 steps below.
1. ./Allrun
2. change constant/polyMesh/boundary (by copying the file boundary in the case folder, which adds a new patch, the third patch.)
3. pimpleFoam

Please review and comments.
Attached Files
File Type: gz activeBaffleVelocityC.tar.gz (4.3 KB, 40 views)
the_ichthyologist and uosilos like this.
__________________
Charles L.
Marpole is offline   Reply With Quote

Reply

Tags
activebafflevelocity


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
Boundary Conditions Thomas P. Abraham Main CFD Forum 20 July 7, 2013 06:05
Transient outlet boundary condition problem jwillie2000 CFX 1 December 7, 2009 18:07
Axis Boundary Condition..what is it? CFDtoy FLUENT 6 February 13, 2007 06:51
How to set boundary condition in Fluent for the fo Peiyong FLUENT 1 November 10, 2006 12:44
How to resolve boundary condition problem? sam FLUENT 2 July 20, 2003 03:19


All times are GMT -4. The time now is 03:56.