# Cyclic Boundary Condition

 User Name Remember Me Password
 Register Blogs Members List Search Today's Posts Mark Forums Read

 LinkBack Thread Tools Search this Thread Display Modes
 January 28, 2005, 00:28 Hi all, If I define two plan #1 Luiz Eduardo Bittencourt Sampaio (Sampaio) Guest   Posts: n/a Hi all, If I define two planes (paralel planes) as cycle boundaries, I know the velocity will be the same in the "periodic" points. But what about the pressure? Will it be periodic also? Or is its gradient that is periodic? (I tried to dig into the code to try to figure out this myself, but I think I am still not able to do that... Where should I look for this thing? Should be in the routines that construct the matrix right? Where exactly?) Thanks, Luiz

 January 28, 2005, 08:35 A cyclic boundary is periodic #2 Eugene de Villiers (Eugene) Guest   Posts: n/a A cyclic boundary is periodic for all properties. The matrix is constructed by fvMatrix. Check the Doxygen documentation.

 January 28, 2005, 13:53 Then the pressure force (-gra #3 Luiz Eduardo Bittencourt Sampaio (Sampaio) Guest   Posts: n/a Then the pressure force (-grad p) is not necessarely continuos, is it? Shouldn't we impose continuity (periodicity) on grad p also? So that we can simulate a developed channel, for instance? Sorry if this is a stupid question...

 January 28, 2005, 14:20 Take a look at channelOodles #4 Henry Weller (Henry) Guest   Posts: n/a Take a look at channelOodles in which the mean pressure gradient is abstracted from p and handled explicitly so that the remaining "p" field is cyclic between the "inlet" and "outlet" of the channel. The mean pressure gradient is obtained directly from the momentum equation such that the mass-flux remains constant.

 February 10, 2005, 16:55 Hi, I hope you don't mind #5 Brandon Field (Field) Guest   Posts: n/a Hi, I hope you don't mind if I pick this thread back up, since it is clearly the area where my question falls. If I were to try to incorporate this into a multi-phase simulation, could I just copy the createGradP.H and writeGradP.H files and make the appropriate changes to the interFoam.C file (including the modifications to the governing equations) and then re-compile interFoam into something like channelInterFoam? Or is this implementation specific to anything in single-phase or turbulence and thus cause problems with the two-phases? thanks, brandon.

 February 10, 2005, 18:18 Close enough - something like #6 Hrvoje Jasak (Hjasak) Guest   Posts: n/a Close enough - something like that should work.

 February 15, 2005, 10:36 I'm a little confused about t #7 Brandon Field (Field) Guest   Posts: n/a I'm a little confused about the Ubar vector in the channelOodles solver... the comment in readTransportProperties says that it's the centerline velocity. However, the overbar on a velocity for channel flow usually means cross-sectional average. I'm trying to make two-phase channel flow, and I've got two different velocities for the two different phases. The centerline of the channel is all one phase, so if it were really centerline velocity I could use that, but if it's an average, I need to figure out the average velocity to keep the mass flow rate what it should be... So, my question is: is Ubar a centerline velocity or a cross-sectional average? thanks, brandon. p.s. Anyone interested in including channel flow into a solver should note that the channelOodles momentum equation is cast for constant density, so the gradP dimensions are [m/s^2]. If you need to leave rho in the momentum equation, you'll need to change the dimensions on gradP.

 February 15, 2005, 10:38 Ubar is the cross-sectional a #8 Henry Weller (Henry) Guest   Posts: n/a Ubar is the cross-sectional average.

 January 14, 2009, 06:59 Hi, I am going to simmulate #9 New Member   Mansuor Alghane Join Date: Mar 2009 Location: Edinburgh, UK Posts: 2 Rep Power: 0 Hi, I am going to simmulate two phase in channel flow.So, can you help me which tutorial of OpenFOAM 1.5 is suitable to start with because I am new in OpenFOAM thanks, mansuor

 January 22, 2009, 03:41 Dear Foamers Hi, Can I get #10 Member   Mahendra Join Date: Mar 2009 Location: Pune, Maharashtra, India Posts: 65 Rep Power: 17 Dear Foamers Hi, Can I get a tutorial case having cyclic boundary conditions made on a mesh imported from Gambit/Fluent? I am finding it quite tough to create a case having cyclic boundaries and running it in OpenFOAM-1.5. Looking forward to hear from you Regards, Mahendra

 January 28, 2009, 04:51 Hello Mahendra, Can you exp #11 Senior Member   Rishi . Join Date: Mar 2009 Posts: 149 Rep Power: 17 Hello Mahendra, Can you explain what it the current difficulty in your mesh import from Fluent? I am also working on Fluent mesh to OF-1.5, with cyclic BC. Maybe I can provide some input, based on the problem description.

 January 28, 2009, 05:31 Hi Mahendra Check if your #12 Senior Member   Jens Klostermann Join Date: Mar 2009 Posts: 117 Rep Power: 17 Hi Mahendra Check if your mesh is conformal, OF-1.5 currently is not supporting cyclics on nonconformal meshes as Fluent does. If you use a nonconformal mesh you need OF-1.5-dev. Jens

 January 28, 2009, 06:11 Hi ! I had the same Problem w #13 New Member   Naish Join Date: Mar 2009 Location: Germany Posts: 11 Rep Power: 17 Hi ! I had the same Problem with importing from Fluent. Yesteday I solved it. Be sure that the BC are cyclic in fluent, renumber the Mesh before saving . I don`t know if it is necessary but name the cyclic patche so tht they are in alphabetic order that the face numbering is correct. Go to the end of the .msh file change the cyclics to normal walls. Now import it by fluent3DMeshToFoam (fluentMeshTo Foam did not work) And Change in polyMesh/boundaries the types back to cyclic and in every file 0 p ... Please let meknow if it is working for your case

 May 28, 2009, 10:05 Problem in cyclic boundary condition #14 New Member   parham momeni Join Date: Mar 2009 Location: glasgow, uk Posts: 25 Rep Power: 16 Hi, I am having difficulty in creating cyclic boundary condition, I have done it this way: 1- I created a mesh in Gambit (Quarter of a cylinder) and I called the two planes symmetrya and symmetryb. and I set them to be symmetry for periodic bc. 2-set the writePrecision in system/controlDict to 12. 3-In the end of *.msh file I saw (0 "Cells:") (12 (0 1 5eb78 0)) (12 (2 1 5eb78 1 4)) (0 "Zones:") (45 (2 fluid fluid)()) (45 (3 mass-flow-inlet ariinlet2)()) (45 (4 symmetry symmetryb)()) (45 (5 symmetry symmetrya)()) (45 (6 pressure-outlet outlet)()) (45 (7 wall wall)()) (45 (8 mass-flow-inlet airinlet1)()) (45 (9 mass-flow-inlet fuelinlet)()) (45 (11 interior default-interior)()) I did not change anything here, and leave it as it is. 3-then I ran fluentMeshTofoam *.msh : Building boundary and internal patches. Creating patch 0 for zone: 3 start: 1 end: 25 type: mass-flow-inlet name: ariinlet2 Creating patch 1 for zone: 4 start: 26 end: 10345 type: symmetry name: symmetryb Creating patch 2 for zone: 5 start: 10346 end: 20665 type: symmetry name: symmetrya Creating patch 3 for zone: 6 start: 20666 end: 23898 type: pressure-outlet name: outlet Creating patch 4 for zone: 7 start: 23899 end: 34233 type: wall name: wall Creating patch 5 for zone: 8 start: 34234 end: 34263 type: mass-flow-inlet name: airinlet1 Creating patch 6 for zone: 9 start: 34264 end: 34306 type: mass-flow-inlet name: fuelinlet Creating patch 7 for zone: 11 start: 34307 end: 1181033 type: interior name: default-interior Adding new patch ariinlet2 of type patch as patch 0 Adding new patch symmetryb of type symmetryPlane as patch 1 Adding new patch symmetrya of type symmetryPlane as patch 2 Adding new patch outlet of type patch as patch 3 Adding new patch wall of type wall as patch 4 Adding new patch airinlet1 of type patch as patch 5 Adding new patch fuelinlet of type patch as patch 6 Patch default-interior is internal to the mesh and is not being added to the boundary. Default patch type set to empty Writing mesh... to "constant/polyMesh" done. End 4-It creates in the constant/polymesh ---> boundary : 7 ( ariinlet2 { type patch; nFaces 25; startFace 1146727; } symmetryb { type symmetryPlane; nFaces 10320; startFace 1146752; } symmetrya { type symmetryPlane; nFaces 10320; startFace 1157072; } outlet { type patch; nFaces 3233; startFace 1167392; } wall { type wall; nFaces 10335; startFace 1170625; } airinlet1 { type patch; nFaces 30; startFace 1180960; } fuelinlet { type patch; nFaces 43; startFace 1180990; } ) 5-then I define the createPatchDict in /system and within that I have: matchTolerance 1E-3; pointSync true; patches ( { name symmetrya; type cyclic; constructFrom patches; patches (symmetrya symmetryb); } ); 6-then I ran createPatch, this was the outcome: Create time Reading createPatchDict. Using relative tolerance 0.001 to match up faces and points Create polyMesh for time = 0 Moving faces from patch symmetrya to patch 2 Moving faces from patch symmetryb to patch 2 Doing topology modification to order faces. Synchronising points. Points changed by average:0 max:0 Removing patches with no faces in them. Removing empty patch symmetryb at position 1 Removing patches. Writing repatched mesh to 1 End 7-It creates a folder /1/polyMesh and within that: []\$ ls boundary cellZones faces faceZones neighbour owner points pointZones 8-vi boundary : 6 ( ariinlet2 { type patch; nFaces 25; startFace 1146727; } symmetrya { type symmetryPlane; nFaces 20640; startFace 1146752; } outlet { type patch; nFaces 3233; startFace 1167392; } wall { type wall; nFaces 10335; startFace 1170625; } airinlet1 { type patch; nFaces 30; startFace 1180960; } fuelinlet { type patch; nFaces 43; startFace 1180990; } ) 8-I copy all the contents of this folder to constant/polymesh/ 9- I did changed the symmetryplane type now to cyclic for symmetrya 10-I did the simpleFoam and I received this error: Create time Create mesh for time = 0 face 0 area does not match neighbour 10320 by 21.8435% -- possible face ordering problem. patch:symmetrya my area:0.000277 neighbour area:0.000344925 matching tolerance:0.001 Mesh face:1146752 vertices:4((0 0 0.1123) (0.05 0 0.1123) (0.05 0 0.11784) (0 0 0.11784)) Neighbour face:1157072 vertices:4((0 0.043315 0) (0 0.0502135 0) (0.05 0.0502135 0) (0.05 0.043315 0)) Rerun with cyclic debug flag set for more information. From function cyclicPolyPatch::calcTransforms() in file meshes/polyMesh/polyPatches/constraint/cyclic/cyclicPolyPatch.C at line 150. FOAM exiting Can anyone help me with this problem?

 November 6, 2009, 06:05 #15 Member   Join Date: Sep 2009 Posts: 45 Rep Power: 16 Same error! did you manage to solve it ? I tried everything but it still doesn't work. Thank you.

 November 21, 2009, 12:02 Modified cyclic boundary #16 Member     Marta Lazzarin Join Date: Jun 2009 Location: Italy Posts: 71 Rep Power: 16 Hi, dear Foamers! I'm trying to modify the cyclic boundary condition for velocity. I want only the velocity component normal to the cyclic patch to be transferred to the other coupled patch, therefore I thought of using the inner product between the velocity components at the cyclic boundaries and the normals to the boundary faces. I wrote the new modified boundary code, but I got the following problem: error: no match for ‘operator=’ in ‘((Foam::Field >*)n)->Foam::Field >::. I think that the problem is related to my parameters types and I saw that the template member function uses tensor fields. Maybe someone can explain to me how OpenFOAM is able to distinguish among scalarFields, tensorFields and vectorFields, since the template only accounts for tensors (which is the most general case), and I'm not able to correct my mistake! Thank you in advance! Marta

 November 28, 2009, 14:22 #17 Member     Marta Lazzarin Join Date: Jun 2009 Location: Italy Posts: 71 Rep Power: 16 Hi, Foamers, I finally managed to solve the problem I had in modifying the original cyclic boundary condition by using explicit casts, even if I'm not quite sure this is the only way to get through my compiler error... Now everything seems to work! Bye bye! Marta

 December 7, 2009, 04:55 #18 Member   Join Date: Sep 2009 Posts: 45 Rep Power: 16 Hi all, I used createPatch to create a cyclic boundary condition and then when I use changeDictionary (for directMapped), I can see that "value uniform 0;" has been added below "type cyclic" in the boundary file ..... What does that mean ? Do I need to leave it like that or do I need to remove "value uniform 0" which doesn't make sense for a cyclic BC? Thanks!

 December 7, 2009, 05:30 #19 Member     Marta Lazzarin Join Date: Jun 2009 Location: Italy Posts: 71 Rep Power: 16 Hi AirS, I don't think that is a problem for your simulation, because uniform 0 is just the initial value used, but during the simulation the boundary condition will be a traditional cyclic. To be sure that there is no difference in the final solution, you can perform a simple test: use the traditional cyclic boundary condition with and without the 'value uniform 0' specification, then see if the result changes. Anyway I used these specifications for my new cyclic boundary condition for velocity and everything worked correctly: type spongeCyclic; patchType cyclic; value uniform (0 0 0); Hope this helps! Marta

 December 8, 2009, 05:28 #20 Member   Join Date: Sep 2009 Posts: 45 Rep Power: 16 Thanks Marta.

 Thread Tools Search this Thread Search this Thread: Advanced Search Display Modes Linear Mode

 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 OffTrackbacks are Off Pingbacks are On Refbacks are On Forum Rules

 Similar Threads Thread Thread Starter Forum Replies Last Post hjasak OpenFOAM Running, Solving & CFD 10 April 16, 2010 15:35 qtian OpenFOAM Running, Solving & CFD 3 November 12, 2008 21:23 SG Siemens 0 June 1, 2008 14:56 Las Phoenics 0 November 9, 2002 10:39 Jiaying Xu Siemens 2 October 31, 2002 20:12

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

 Contact Us - CFD Online - Privacy Statement - Top