|
[Sponsors] |
activeBaffleVelocity boundary condition ? |
|
LinkBack | Thread Tools | Search this Thread | Display Modes |
April 9, 2010, 17:13 |
activeBaffleVelocity boundary condition ?
|
#1 |
New Member
Marco
Join Date: Mar 2010
Posts: 9
Rep Power: 16 |
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 |
|
January 23, 2012, 15:39 |
|
#2 |
New Member
Gregory N de Boer
Join Date: Dec 2011
Posts: 12
Rep Power: 15 |
Hi Marco,
Did you ever find out how this works? Cheers, Greg |
|
January 23, 2012, 18:55 |
|
#3 |
New Member
Marco
Join Date: Mar 2010
Posts: 9
Rep Power: 16 |
Greg,
at the end I gave up with that b.c. ... Marco |
|
July 15, 2014, 12:14 |
|
#4 |
New Member
Join Date: Apr 2014
Posts: 9
Rep Power: 12 |
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!! |
|
November 18, 2014, 09:36 |
|
#5 |
New Member
Nicolas Desmars
Join Date: Jul 2014
Location: France
Posts: 1
Rep Power: 0 |
Hi everybody,
Maybe this document could help somebody. Cheers, Nicolas |
|
June 21, 2017, 12:10 |
|
#6 |
New Member
Join Date: Jun 2017
Posts: 1
Rep Power: 0 |
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 ( ); // ************************************************************************* // 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; } }*/ ); // ************************************************************************* // 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; } } } } // ************************************************************************* // 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; } } // ************************************************************************* // 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; } } // ************************************************************************* // I hope someone can give some advice Thanks and best regards. |
|
November 13, 2020, 10:45 |
|
#7 | |
New Member
Stephan
Join Date: Aug 2017
Posts: 6
Rep Power: 9 |
Quote:
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 |
||
November 15, 2020, 02:33 |
|
#8 |
Senior Member
Charles
Join Date: Aug 2016
Location: Vancouver, Canada
Posts: 151
Rep Power: 10 |
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.
__________________
Charles L. |
|
November 16, 2020, 12:20 |
|
#9 |
New Member
Stephan
Join Date: Aug 2017
Posts: 6
Rep Power: 9 |
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 |
|
November 16, 2020, 13:12 |
|
#10 | |
Senior Member
Charles
Join Date: Aug 2016
Location: Vancouver, Canada
Posts: 151
Rep Power: 10 |
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:
__________________
Charles L. |
||
November 17, 2020, 00:26 |
|
#11 |
Senior Member
Charles
Join Date: Aug 2016
Location: Vancouver, Canada
Posts: 151
Rep Power: 10 |
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.
__________________
Charles L. |
|
Tags |
activebafflevelocity |
|
|
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 |